00001 //-< CONFIG.H >------------------------------------------------------*--------* 00002 // GigaBASE 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 // GigaBASE configuration definitions 00009 //-------------------------------------------------------------------*--------* 00010 00011 #ifndef __CONFIG_H__ 00012 #define __CONFIG_H__ 00013 00014 #if (defined(_WIN32) || defined(_WINCE)) && (!defined(_CRT_SECURE_NO_DEPRECATE)) 00015 #define _CRT_SECURE_NO_DEPRECATE true 00016 #endif 00017 00018 #ifdef USE_CONFDEFS 00019 // Use configuration file generated by configure script 00020 #include "confdefs.h" 00021 #else 00022 00023 // USE_LOCALE_SETTINGS - use C locale for string comparison operations 00024 #ifndef _WIN32_WCE 00025 #define USE_LOCALE_SETTINGS 1 00026 #endif 00027 00028 // GIGABASE_DEBUG - debug level 00029 // - DEBUG_NONE - disable any checking and tracing (except asserts) 00030 // - DEBUG_CHECK - disable trace message 00031 // - DEBUG_TRACE - enable trace messages 00032 //#define GIGABASE_DEBUG DEBUG_TRACE 00033 00034 // USE_NAMESPACES - place GigaBASE classes in separate namespace 00035 //#define USE_NAMESPACES 1 00036 00037 00038 // SECURE_SERVER - enable authentication for remote logins: keep user/password table, 00039 // check password for remote logins 00040 //#define SECURE_SERVER 1 00041 00042 // USE_QUEUE_MANAGER - use queue manager for internal HTTP server. 00043 // This manager will manage pool of threads assigned for client connections. 00044 // Otherwise all requests will be executed sequnetially in the main loop. 00045 //#define USE_QUEUE_MANAGER 1 00046 00047 00048 // GIGABASE_DLL - create gigabase.dll 00049 //#define GIGABASE_DLL 1 00050 00051 00052 // THROW_EXCEPTION_ON_ERROR - throw C++ exception in case of database error instead of abort() 00053 #ifndef _WINCE 00054 #define THROW_EXCEPTION_ON_ERROR 1 00055 #endif 00056 00057 //UNICODE - use wide character strings 00058 //#define UNICODE 1 00059 00060 #if defined(_UNICODE) && !defined(UNICODE) && !defined(__SYMBIAN32__) 00061 #define UNICODE 00062 #endif 00063 00064 00065 //USE_STD_STRING - accept std::string class as table field type 00066 #if defined(_WIN32) && !defined(__SYMBIAN32__) 00067 #define USE_STD_STRING 1 00068 #endif 00069 00070 //AUTOINCREMENT_SUPPORT - support autoincrement fields 00071 // (database built with this flag will be incompatible with database built without it) 00072 #define AUTOINCREMENT_SUPPORT 1 00073 00074 //CLONE_IDENTIFIERS - do not storef addresses of string constants in symbol table. 00075 // This option is needed if DLL library using GigaBASE can be unloaded. 00076 //#define CLONE_IDENTIFIERS 1 00077 00078 // RECTANGLE_DIMENSION - dimension of built-in rectangle type 00079 #define RECTANGLE_DIMENSION 2 00080 00081 // RECTANGLE_COORDINATE_TYPE - type of rectanlge's coordinates 00082 #define RECTANGLE_COORDINATE_TYPE int 00083 //#define RECTANGLE_COORDINATE_TYPE double 00084 00085 // RECTANGLE_AREA_TYPE - type of rectanlge's area 00086 #define RECTANGLE_AREA_TYPE db_int8 00087 //#define RECTANGLE_AREA_TYPE double 00088 00089 //SET_NULL_DACL - use NULL DACL security descriptor for all synchronization objects. 00090 //#define SET_NULL_DACL 1 00091 00092 //INT8_IS_DEFINED - int8 type is defined at your system, in this case you should use db_int8 type instead 00093 //#define INT8_IS_DEFINED 1 00094 00095 //USE_MFC - use MFC (include "afx.h" instead of "windows.h") 00096 //#define USE_MFC 1 00097 00098 //USE_ATL - use Microsoft ATL 00099 //#define USE_ATL 1 00100 00101 //USE_MFC_STRING - accept MVC CString class as table field type 00102 //#define USE_MFC_STRING 00103 00104 00105 // LARGE_DATABASE_SUPPORT - support databases with size larger than 4Gb. 00106 // If this macro is defined GigaBASE maximal database size is limited by 1 terrabyte. 00107 // Defnining this macro increase iniitial database size and object index size (because 00108 // 64-bit offsetss are used instead fo 4-byte offsets). Also GigaBASE library compiled with 00109 // LARGE_DATABASE_SUPPOR will not be able to work with database created by library 00110 // built without LARGE_DATABASE_SUPPOR and visa versa. 00111 // #define LARGE_DATABASE_SUPPORT 00112 00113 // dbDatabaseOidBits number of bits used to represent object identifier. 00114 // So the number of objects in database is limited by 2**dbDatabaseOidBits. 00115 // Default value of this parameter is 32, so maximal number of objects is limited by 2**32. 00116 // The value of this parameter is used to estimate size of bitmap, so do not assign unnecessarily 00117 // large values (for example 64) 00118 //#define dbDatabaseOidBits 33 00119 00120 // SPARSE_FILE_OPTIMIZATION use optimization of sparse files at Windows. In a sparse file, 00121 // large ranges of zeroes may not require disk allocation. Space for nonzero data will be allocated 00122 // as needed as the file is written. 00123 //#define SPARSE_FILE_OPTIMIZATION true 00124 00125 // ALIGN_HEADER - align each field of dbHeader class on its page boundary 00126 // to make it possible to transfer file between systems with different alignment 00127 // strategies. 00128 //#define ALIGN_HEADER true 00129 00130 // USE_REGEX - use regex library. When this macro is defined GigaBASE provides 00131 // MATCH command. GNU regex or compatible library and headers should be available. 00132 //#define USE_REGEX true 00133 00134 // SOCK_LINGER - set SO_LINGER option. Value of SO_LINGER is specified using LINGER_TIME 00135 // #define SOCK_LINGER 1 00136 00137 00138 // Use reentrant version of localtime 00139 #if !defined(HAVE_LOCALTIME_R) 00140 #if !defined(__APPLE__) && !defined(_WIN32) 00141 #define HAVE_LOCALTIME_R 1 00142 #else 00143 #define HAVE_LOCALTIME_R 0 00144 #endif 00145 #endif 00146 00147 // Use reentrant version of localtime 00148 #if !defined(__APPLE__) && !defined(_WIN32) && !defined(_AIX) && !defined(HAVE_GETHOSTBYNAME_R) && !defined(__NetBSD__) && !defined(VXWORKS) 00149 #define HAVE_GETHOSTBYNAME_R 00150 #endif 00151 00152 // DO_NOT_REUSE_OID_WITHIN_SESSION - do not reuse OID of deallocated objects in the current session 00153 //#define DO_NOT_REUSE_OID_WITHIN_SESSION true 00154 00155 // Profile query execution 00156 //#define PROFILE 00157 00158 // 00159 // Support increment raw level backup 00160 // 00161 #define INCREMENTAL_BACKUP 1 00162 00163 #endif 00164 00165 #endif