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 // Use configuration file generated by configure script 00015 #include "confdefs.h" 00016 00017 #ifndef AUTOCONFIG 00018 00019 // USE_LOCALE_SETTINGS - use C locale for string comparison operations 00020 #ifndef _WIN32_WCE 00021 #define USE_LOCALE_SETTINGS 1 00022 #endif 00023 00024 // GIGABASE_DEBUG - debug level 00025 // - DEBUG_NONE - disable any checking and tracing (except asserts) 00026 // - DEBUG_CHECK - disable trace message 00027 // - DEBUG_TRACE - enable trace messages 00028 //#define GIGABASE_DEBUG DEBUG_TRACE 00029 00030 // USE_NAMESPACES - place GigaBASE classes in separate namespace 00031 //#define USE_NAMESPACES 1 00032 00033 00034 // SECURE_SERVER - enable authentication for remote logins: keep user/password table, 00035 // check password for remote logins 00036 //#define SECURE_SERVER 1 00037 00038 // USE_QUEUE_MANAGER - use queue manager for internal HTTP server. 00039 // This manager will manage pool of threads assigned for client connections. 00040 // Otherwise all requests will be executed sequnetially in the main loop. 00041 //#define USE_QUEUE_MANAGER 1 00042 00043 00044 // GIGABASE_DLL - create gigabase.dll 00045 //#define GIGABASE_DLL 1 00046 00047 00048 // THROW_EXCEPTION_ON_ERROR - throw C++ exception in case of database error instead of abort() 00049 #define THROW_EXCEPTION_ON_ERROR 1 00050 00051 00052 //UNICODE - use wide character strings 00053 //#define UNICODE 1 00054 00055 00056 //USE_STD_STRING - accept std::string class as table field type 00057 #ifdef _WIN32 00058 #define USE_STD_STRING 1 00059 #endif 00060 00061 //AUTOINCREMENT_SUPPORT - support autoincrement fields 00062 // (database built with this flag will be incompatible with database built without it) 00063 #define AUTOINCREMENT_SUPPORT 1 00064 00065 //CLONE_IDENTIFIERS - do not storef addresses of string constants in symbol table. 00066 // This option is needed if DLL library using GigaBASE can be unloaded. 00067 //#define CLONE_IDENTIFIERS 1 00068 00069 // RECTANGLE_DIMENSION - dimension of built-in rectangle type 00070 #define RECTANGLE_DIMENSION 2 00071 00072 // RECTANGLE_COORDINATE_TYPE - type of rectanlge's coordinates 00073 #define RECTANGLE_COORDINATE_TYPE int 00074 00075 // RECTANGLE_AREA_TYPE - type of rectanlge's area 00076 #define RECTANGLE_AREA_TYPE db_int8 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_MFC - use MFC (include "afx.h" instead of "windows.h") 00085 //#define USE_MFC 1 00086 00087 //USE_ATL - use Microsoft ATL 00088 //#define USE_ATL 1 00089 00090 //USE_MFC_STRING - accept MVC CString class as table field type 00091 //#define USE_MFC_STRING 00092 00093 00094 // LARGE_DATABASE_SUPPORT - support databases with size larger than 4Gb. 00095 // If this macro is defined GigaBASE maximal database size is limited by 1 terrabyte. 00096 // Defnining this macro increase iniitial database size and object index size (because 00097 // 64-bit offsetss are used instead fo 4-byte offsets). Also GigaBASE library compiled with 00098 // LARGE_DATABASE_SUPPOR will not be able to work with database created by library 00099 // built without LARGE_DATABASE_SUPPOR and visa versa. 00100 //#define LARGE_DATABASE_SUPPORT 00101 00102 // SPARSE_FILE_OPTIMIZATION use optimization of sparse files at Windows. In a sparse file, 00103 // large ranges of zeroes may not require disk allocation. Space for nonzero data will be allocated 00104 // as needed as the file is written. 00105 //#define SPARSE_FILE_OPTIMIZATION true 00106 00107 // ALIGN_HEADER - align each field of dbHeader class on its page boudary 00108 // to make it possible to transfer file between systems with different alignment 00109 // strategies. 00110 //#define ALIGN_HEADER true 00111 00112 #endif 00113 00114 #endif