📄 config_8h-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>config.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center><hr><h1>config.h</h1><div class="fragment"><pre>00001 <span class="comment">//-< CONFIG.H >------------------------------------------------------*--------*</span>00002 <span class="comment">// FastDB Version 1.0 (c) 1999 GARRET * ? *</span>00003 <span class="comment">// (Post Relational Database Management System) * /\| *</span>00004 <span class="comment">// * / \ *</span>00005 <span class="comment">// Created: 21-Jan-2004 K.A. Knizhnik * / [] \ *</span>00006 <span class="comment">// Last update: 21-Jan-2004 K.A. Knizhnik * GARRET *</span>00007 <span class="comment">//-------------------------------------------------------------------*--------*</span>00008 <span class="comment">// FastDB configuration definitions</span>00009 <span class="comment">//-------------------------------------------------------------------*--------*</span>00010 00011 <span class="preprocessor">#ifndef __CONFIG_H__</span>00012 <span class="preprocessor"></span><span class="preprocessor">#define __CONFIG_H__</span>00013 <span class="preprocessor"></span>00014 <span class="comment">// USE_LOCALE_SETTINGS - use C locale for string comparison operations</span>00015 <span class="preprocessor">#define USE_LOCALE_SETTINGS 1</span>00016 <span class="preprocessor"></span>00017 <span class="comment">// FASTDB_DEBUG - debug level</span>00018 <span class="comment">// - DEBUG_NONE - disable any checking and tracing (except asserts)</span>00019 <span class="comment">// - DEBUG_CHECK - disable trace message</span>00020 <span class="comment">// - DEBUG_TRACE_IMPORTANT - enable trace of important messages </span>00021 <span class="comment">// - DEBUG_TRACE_ALL - enable trace of all messages </span>00022 <span class="preprocessor">#define FASTDB_DEBUG DEBUG_TRACE_IMPORTANT</span>00023 <span class="preprocessor"></span><span class="comment">//#define FASTDB_DEBUG DEBUG_TRACE_ALL</span>00024 00025 <span class="comment">// USE_NAMESPACES - place FastDB classes in separate namespace </span>00026 <span class="comment">//#define USE_NAMESPACES 1</span>00027 00028 <span class="comment">// SECURE_SERVER - enable authentication for remote logins: keep user/password table, </span>00029 <span class="comment">// check password for remote logins</span>00030 <span class="comment">//#define SECURE_SERVER 1</span>00031 00032 <span class="comment">// USE_QUEUE_MANAGER - use queue manager for internal HTTP server. </span>00033 <span class="comment">// This manager will manage pool of threads assigned for client connections. </span>00034 <span class="comment">// Otherwise all requests will be executed sequnetially in the main loop.</span>00035 <span class="comment">//#define USE_QUEUE_MANAGER 1</span>00036 00037 00038 <span class="comment">// FASTDB_DLL - create fastdb.dll</span>00039 <span class="comment">//#define FASTDB_DLL 1</span>00040 00041 00042 <span class="comment">// THROW_EXCEPTION_ON_ERROR - throw C++ exception in case of database error instead of abort()</span>00043 <span class="preprocessor">#ifndef _WINCE</span>00044 <span class="preprocessor"></span><span class="preprocessor">#define THROW_EXCEPTION_ON_ERROR 1</span>00045 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00046 <span class="preprocessor"></span>00047 00048 <span class="comment">//IGNORE_CASE - perform all string comparisons as case insensitive</span>00049 <span class="comment">//#define IGNORE_CASE 1</span>00050 00051 <span class="comment">//USE_STD_STRING - accept std::string class as table field type</span>00052 <span class="preprocessor">#ifdef _WIN32</span>00053 <span class="preprocessor"></span><span class="preprocessor">#define USE_STD_STRING 1</span>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00055 <span class="preprocessor"></span>00056 <span class="comment">//AUTOINCREMENT_SUPPORT - support autoincrement fields </span>00057 <span class="comment">// (database built with this flag will be incompatible with database built without it)</span>00058 <span class="preprocessor">#define AUTOINCREMENT_SUPPORT 1</span>00059 <span class="preprocessor"></span>00060 <span class="comment">//CLONE_IDENTIFIERS - do not storef addresses of string constants in symbol table.</span>00061 <span class="comment">// This option is needed if DLL library using FastDB can be unloaded.</span>00062 <span class="comment">//#define CLONE_IDENTIFIERS 1 </span>00063 00064 <span class="comment">//DISKLESS_CONFIGURATION - only in-memory temporary database</span>00065 <span class="comment">//#define DISKLESS_CONFIGURATION 1</span>00066 00067 <span class="comment">// RECTANGLE_DIMENSION - dimension of built-in rectangle type</span>00068 <span class="preprocessor">#define RECTANGLE_DIMENSION 2</span>00069 <span class="preprocessor"></span>00070 <span class="comment">// RECTANGLE_COORDINATE_TYPE - type of rectanlge's coordinates</span>00071 <span class="preprocessor">#define RECTANGLE_COORDINATE_TYPE int</span>00072 <span class="preprocessor"></span><span class="comment">//#define RECTANGLE_COORDINATE_TYPE double</span>00073 00074 <span class="comment">// RECTANGLE_AREA_TYPE - type of rectanlge's area</span>00075 <span class="preprocessor">#define RECTANGLE_AREA_TYPE db_int8</span>00076 <span class="preprocessor"></span><span class="comment">//#define RECTANGLE_AREA_TYPE double</span>00077 00078 <span class="comment">//SET_NULL_DACL - use NULL DACL security descriptor for all synchronization objects.</span>00079 <span class="comment">//#define SET_NULL_DACL 1</span>00080 00081 <span class="comment">//INT8_IS_DEFINED - int8 type is defined at your system, in this case you should use db_int8 type instead</span>00082 <span class="comment">//#define INT8_IS_DEFINED 1</span>00083 00084 <span class="comment">//USE_POSIX_SEMAPHORES use POSIX sem_* sempahores instead of SysV semaphores</span>00085 <span class="comment">// instead of SysV semaphores and shared memory</span>00086 <span class="comment">//#define USE_POSIX_SEMAPHORES 1</span>00087 00088 00089 <span class="comment">//USE_POSIX_MMAP - if 1 then use Posix mmap for mapping database file and monitor, </span>00090 <span class="comment">// if 0 - use SysV IPC shmem for allocating memory for database file and monitor,</span>00091 <span class="comment">// if not defined - use mmap for mapping database file and shmem for allocating monitor</span>00092 <span class="comment">//#define USE_POSIX_MMAP 0</span>00093 00094 <span class="comment">//REPLICATION_SUPPORT - fault tolerant version of FastDB</span>00095 <span class="comment">//#define REPLICATION_SUPPORT 1</span>00096 00097 <span class="comment">//NO_MMAP do not use OS mappig of file on virtual memory. FastDB will track modification of</span>00098 <span class="comment">// pages itself and save dirty pages in the file. If USE_POSIX_MMAP=0, memory for database is</span>00099 <span class="comment">// allocated using shmat() and database can be shared by several processes, </span>00100 <span class="comment">// otherwise - using valloc() and database can be accessed only by one process. </span>00101 <span class="comment">//#define NO_MMAP 1</span>00102 00103 <span class="comment">//FUZZY_CHECKPOINT allows to increase application performance, by performing wrinting to the file in </span>00104 <span class="comment">// in separate thread. In this case commit will not be blocked until all changes will be actually written to the disk,</span>00105 <span class="comment">// write requests will be just linked into the queue from which them will be taken by writting thread and proceeded</span>00106 <span class="comment">// in the same order as in commit. This apporach provides daatbase consistency in case of fault, but results</span>00107 <span class="comment">// of several recently committed transaction can be lost in this case.</span>00108 <span class="comment">// Fuzzy checkpointing works only in conjunction with NO_MMAP option, it means that data sharing is not allowed</span>00109 <span class="comment">// in this case - database can be accessed only by one application.</span>00110 <span class="comment">//#define FUZZY_CHECKPOINT 1</span>00111 00112 00113 <span class="comment">//USE_MFC - use MFC (include "afx.h" instead of "windows.h")</span>00114 <span class="comment">//#define USE_MFC 1</span>00115 00116 <span class="comment">//USE_ATL - use Microsoft ATL </span>00117 <span class="comment">//#define USE_ATL 1</span>00118 00119 <span class="comment">// Do not use member templates</span>00120 <span class="preprocessor">#if defined(__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4</span>00121 <span class="preprocessor"></span><span class="preprocessor">#define NO_MEMBER_TEMPLATES</span>00122 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00123 <span class="preprocessor"></span>00124 <span class="comment">// Automatically detect and recover crash of one or more database clients.</span>00125 <span class="comment">// FastDB will start separate watchdog threads which will check if other processes working with database are </span>00126 <span class="comment">// alive.</span>00127 <span class="comment">// It is not recommended to use this mode because there are many cases whern it works incorrectly.</span>00128 <span class="comment">// Preferable way of handling process failure is using of RECOVERABLE_CRITICAL_SECTION.</span>00129 <span class="comment">//#define AUTO_DETECT_PROCESS_CRASH 1</span>00130 00131 <span class="comment">// Use recoverable critical section (operating system is able to release </span>00132 <span class="comment">// critical section in case of crash of the process entered this critical section)</span>00133 <span class="comment">//#define RECOVERABLE_CRITICAL_SECTION 1</span>00134 00135 <span class="comment">// Do not flush chafges to the disk during transaction commit. This option will greatly increase performance</span>00136 <span class="comment">// but can cause database corruption in case of crash</span>00137 <span class="preprocessor">#define NO_FLUSH_ON_COMMIT 1</span>00138 <span class="preprocessor"></span>00139 <span class="comment">// dbDatabaseOidBits number of bits used to represent object identifier. </span>00140 <span class="comment">// So the number of objects in database is limited by 2**dbDatabaseOidBits.</span>00141 <span class="comment">// Default value of this parameter is 32, so maximal number of objects is limited by 2**32.</span>00142 <span class="comment">// Support of larger number of objects is possible only at 64-bit OS</span>00143 <span class="comment">// The value of this parameter is used to estimate size of bitmap, so do not assign unnecessarily </span>00144 <span class="comment">// large values (for example 64)</span>00145 <span class="comment">//#define dbDatabaseOidBits 33</span>00146 00147 <span class="comment">// dbDatabaseOffsetBits number of bits used to represent object offset in the storage</span>00148 <span class="comment">// So the maximal database size is limited by 2**dbDatabaseOidBits.</span>00149 <span class="comment">// Default value of this parameter is 32, so maximal number of objects is limited by 2**32.</span>00150 <span class="comment">// Support of larger database size only at 64-bit OS</span>00151 <span class="comment">// The value of this parameter is used to estimate size of bitmap, so do not assign unnecessarily </span>00152 <span class="comment">// large values (for example 64)</span>00153 <span class="comment">//#define dbDatabaseOffsetBits 38</span>00154 00155 <span class="comment">// USE_REGEX - use regex library. When this macro is defined GigaBASE provides</span>00156 <span class="comment">// MATCH command. GNU regex or compatible library and headers should be available.</span>00157 <span class="comment">//#define USE_REGEX true</span>00158 00159 <span class="comment">// Calling convention used for CLI callback functions</span>00160 <span class="comment">// You should use stdcall convention if you want to use CSharp CLI API</span>00161 <span class="comment">//#define CLI_CALLBACK_CC __stdcall</span>00162 00163 <span class="comment">// SOCK_LINGER - set SO_LINGER option. Value of SO_LINGER is specified using LINGER_TIME</span>00164 <span class="comment">// #define SOCK_LINGER 1</span>00165 00166 00167 <span class="comment">// Use reentrant version of localtime</span>00168 <span class="preprocessor">#if !defined(__APPLE__) && !defined(_WIN32)</span>00169 <span class="preprocessor"></span><span class="preprocessor">#define HAVE_LOCALTIME_R</span>00170 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00171 <span class="preprocessor"></span>00172 <span class="comment">// Use reentrant version of localtime</span>00173 <span class="preprocessor">#if !defined(__APPLE__) && !defined(_WIN32)</span>00174 <span class="preprocessor"></span><span class="preprocessor">#define HAVE_GETHOSTBYNAME_R</span>00175 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00176 <span class="preprocessor"></span>00177 <span class="preprocessor">#endif</span>00178 <span class="preprocessor"></span></pre></div><hr><address style="align: right;"><small>Generated on Mon Oct 23 13:23:58 2006 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -