/* the purpose of this file is to reduce the use of #ifdef's through * the code base by those porting the software, and to facilitate the * eventual use of autoconf to build the server */ #ifndef CONFIG_H #define CONFIG_H #define BLCKSZ 8192 /* * The following is set using configure. */ /* Set to 1 if you have */ #undef HAVE_ENDIAN_H /* Set to 1 if you have */ #undef HAVE_CRYPT_H /* Set to 1 if you have */ #undef HAVE_TERMIOS_H /* Set to 1 if you have */ #undef HAVE_FLOAT_H /* Set to 1 if you have */ #undef HAVE_LIMITS_H /* Set to 1 if you have */ #undef HAVE_VALUES_H /* Set to 1 if you have */ #undef HAVE_SYS_SELECT_H /* Set to 1 if you have */ #undef HAVE_READLINE_H /* Set to 1 if you have */ #undef HAVE_HISTORY /* Set to 1 if you have */ #undef HAVE_DLD_H /* Set to 1 if you have isinf() */ #undef HAVE_ISINF /* Set to 1 if you have tzset() */ #undef HAVE_TZSET /* Set to 1 if you have int timezone */ #undef HAVE_INT_TIMEZONE /* Set to 1 if you have cbrt() */ #undef HAVE_CBRT /* Set to 1 if you have inet_aton() */ #undef HAVE_INET_ATON /* Set to 1 if you have strerror() */ #undef HAVE_STRERROR /* Set to 1 if you have rint() */ #undef HAVE_RINT /* Set to 1 if you have memmove() */ #undef HAVE_MEMMOVE /* Set to 1 if you have sigsetjmp() */ #undef HAVE_SIGSETJMP /* Set to 1 if you have kill() */ #undef HAVE_KILL /* Set to 1 if you have vfork() */ #undef HAVE_VFORK /* Set to 1 if you have sysconf() */ #undef HAVE_SYSCONF /* Set to 1 if you have getrusage() */ #undef HAVE_GETRUSAGE /* Set to 1 if you have waitpid() */ #undef HAVE_WAITPID /* Set to 1 if you have setsid() */ #undef HAVE_SETSID /* Set to 1 if you have sigprocmask() */ #undef HAVE_SIGPROCMASK /* Set to 1 if you have strdup() */ #undef HAVE_STRDUP /* Set to 1 if you have libreadline.a */ #undef HAVE_LIBREADLINE /* Set to 1 if you have libhistory.a */ #undef HAVE_LIBHISTORY /* Set to 1 if you have union semun */ #undef HAVE_UNION_SEMUN /* Set to 1 if you want to USE_LOCALE */ #undef USE_LOCALE /* Set to 1 if you want to Disable ASSERT CHECKING */ #undef NO_ASSERT_CHECKING /* * Code below this point should not require changes */ #include "os.h" /* * The following is used as the arg list for signal handlers. Any ports * that take something other than an int argument should change this in * the port specific makefile. Note that variable names are required * because it is used in both the prototypes as well as the definitions. * Note also the long name. We expect that this won't collide with * other names causing compiler warnings. */ #ifndef SIGNAL_ARGS # define SIGNAL_ARGS int postgres_signal_arg #endif /* * DEF_PGPORT is the TCP port number on which the Postmaster listens by * default. This can be overriden by command options, environment variables, * and the postconfig hook. (set by build script) */ #undef DEF_PGPORT /* * If you do not plan to use Host based authentication, * comment out the following line (set by build script) */ #undef HBA /* * On architectures for which we have not implemented spinlocks (or * cannot do so), we use System V semaphores. We also use them for * long locks. For some reason union semun is never defined in the * System V header files so we must do it ourselves. */ /* Debug and various "defines" that should be documented */ /* found in function aclparse() in src/backend/utils/adt/acl.c */ /* #define ACLDEBUG */ /* found in src/backend/utils/adt/arrayfuncs.c code seems broken without it, Bruce Momjian */ /* #define LOARRAY */ /* This is the time, in seconds, at which a given backend server * will wait on a lock before deciding to abort the transaction * (this is what we do in lieu of deadlock detection). * * Low numbers are not recommended as they will tend to cause * false aborts if many transactions are long-lived. */ #define DEADLOCK_TIMEOUT 60 /* * This flag enables the use of idexes in plans generated for function * executions which normally are always executed with sequential scans. */ #define INDEXSCAN_PATCH /* #define DATEDEBUG */ /* * Define this if you want to use date constants with a short year * like '01/05/96'. */ /* #define USE_SHORT_YEAR */ /* * defining unsafe floats's will make float4 and float8 * ops faster at the cost of safety, of course! */ /* #define UNSAFE_FLOATS */ /* * There is a bug in the function executor. The backend crashes while trying to * execute an sql function containing an utility command (create, notify, ...). * The bug is part in the planner, which returns a number of plans different * than the number of commands if there are utility commands in the query, and * in part in the function executor which assumes that all commands are normal * query commands and causes a SIGSEGV trying to execute commands without plan. */ #define FUNC_UTIL_PATCH /* * Define this if you want to retrieve arrays attributes as Tcl lists instead * of postgres C-like arrays, for example {{"a1" "a2"} {"b1" "b2"}} instead * of {{"a1","a2"},{"b1","b2"}}. */ #define TCL_ARRAYS /* * The comparison routines for text and char data type give incorrect results * if the input data contains characters greater than 127. As these routines * perform the comparison using signed char variables all character codes * greater than 127 are interpreted as less than 0. These codes are used to * encode the iso8859 char sets. Define this flag to correct the problem. */ #define UNSIGNED_CHAR_TEXT /* * The following flag allows limiting the number of rows returned by a query. * You will need the loadable module utils.c to use this feature. */ #define QUERY_LIMIT /* * The following flag allows copying tables from files with number of columns * different than the number of attributes setting missing attributes to NULL * and ignoring extra columns. This also avoids the shift of the attributes * of the rest of the file if one line has a wrong column count. */ #define COPY_PATCH /* * User locks are handled totally on the application side as long term * cooperative locks which extend beyond the normal transaction boundaries. * Their purpose is to indicate to an application that someone is `working' * on an item. Define this flag to enable user locks. You will need the * loadable module user-locks.c to use this feature. */ #define USER_LOCKS /* Debug #defines */ /* #define IPORTAL_DEBUG */ /* #define HEAPDEBUGALL */ /* #define ISTRATDEBUG */ /* #define FASTBUILD_DEBUG */ #define RTDEBUG #define GISTDEBUG /* #define PURGEDEBUG */ /* #define DEBUG_RECIPE */ /* #define ASYNC_DEBUG */ /* #define COPY_DEBUG */ /* #define VACUUM_DEBUG */ /* #define NBTINSERT_PATCH_DEBUG */ /* The following don't have any apparent purpose, but are in the * code. someday, will take them out altogether, but for now, * document them here */ /* #define OMIT_PARTIAL_INDEX */ /* #define NO_BUFFERISVALID */ /* #define NO_SECURITY */ /* #define TIOGA */ /* #define OLD_REWRITE */ /* #define NOTYET */ /* Genetic Query Optimization (GEQO): * * The GEQO module in PostgreSQL is intended for the solution of the * query optimization problem by means of a Genetic Algorithm (GA). * It allows the handling of large JOIN queries through non-exhaustive * search. * For further information see README.GEQO . */ #define GEQO /* backend/optimizer/path/allpaths.c */ /* * Define this if you want psql to _always_ ask for a username and a password * for password authentication. */ /* #define PSQL_ALWAYS_GET_PASSWORDS */ /* Undocumented "features"? */ #define FASTBUILD /* access/nbtree/nbtsort.c */ #endif /* CONFIG_H */