Main Page   Class Hierarchy   Compound List   File List   Compound Members  

config.h

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

Generated on Mon Oct 23 13:23:58 2006 for FastDB by doxygen1.2.18