Document #ifdef's from backend/access subdirs so that we know what

features(?) are available
This commit is contained in:
Marc G. Fournier 1996-10-18 05:22:24 +00:00
parent 2ecb7e5e2c
commit 6c3dff4245
1 changed files with 50 additions and 31 deletions

View File

@ -184,50 +184,69 @@
#define DEADLOCK_TIMEOUT 60 #define DEADLOCK_TIMEOUT 60
/* Fixes use of indexes infunctions */
#define INDEXSCAN_PATCH #define INDEXSCAN_PATCH
/* found in src/backend/utils/adt/date.c */
/* #define DATEDEBUG */ /* #define DATEDEBUG */
/* found in src/backend/utils/adt/datetimes.c */
/* #define USE_SHORT_YEAR */ /* #define USE_SHORT_YEAR */
/* #define AMERICAN_STYLE */ /* #define AMERICAN_STYLE */
/*----------------------------------------*/ /*
/* found in src/backend/utils/adt/float.c */ * defining unsafe floats's will make float4 and float8
/*------------------------------------------------------*/ * ops faster at the cost of safety, of course!
/* defining unsafe floats's will make float4 and float8 */ */
/* ops faster at the cost of safety, of course! */
/*------------------------------------------------------*/
/* #define UNSAFE_FLOATS */ /* #define UNSAFE_FLOATS */
/* /*
* There is a bug in the function executor. The backend crashes while trying to
There is a bug in the function executor. The backend crashes while trying to * execute an sql function containing an utility command (create, notify, ...).
execute an sql function containing an utility command (create, notify, ...). * The bug is part in the planner, which returns a number of plans different
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
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
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.
query commands and causes a SIGSEGV trying to execute commands without plan. */
*/
#define FUNC_UTIL_PATCH #define FUNC_UTIL_PATCH
/* /*
* Async notifies received while a backend is in the middle of a begin/end
Async notifies received while a backend is in the middle of a begin/end * transaction block are lost by libpq when the final end command is issued.
transaction block are lost by libpq when the final end command is issued. *
* The bug is in the routine PQexec of libpq. The routine throws away any
The bug is in the routine PQexec of libpq. The routine throws away any * message from the backend when a message of type 'C' is received. This
message from the backend when a message of type 'C' is received. This * type of message is sent when the result of a portal query command with
type of message is sent when the result of a portal query command with * no tuples is returned. Unfortunately this is the case of the end command.
no tuples is returned. Unfortunately this is the case of the end command. * As all async notification are sent only when the transaction is finished,
As all async notification are sent only when the transaction is finished, * if they are received in the middle of a transaction they are lost in the
if they are received in the middle of a transaction they are lost in the * libpq library. I added some tracing code to PQexec and this is the output:
libpq library. I added some tracing code to PQexec and this is the output: */
*/
#define PQ_NOTIFY_PATCH #define PQ_NOTIFY_PATCH
/* Debug #defines */
/* #define IPORTAL_DEBUG /* access/common/printtup.c */
/* #define HEAPDEBUGALL /* access/heap/heapam.c */
/* #define ISTRATDEBUG /* access/index/istrat.c */
/* #define FASTBUILD_DEBUG /* access/nbtree/nbtsort.c */
#define RTDEBUG /* access/rtree/rtree.c */
#define GISTDEBUG /* access/gist/gist.c */
/* 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 /* access/hash/hash.c */
/* #define PERFECT_MMGR /* access/hash/hash.c */
/* #define PERFECT_MEM /* access/hash/hashscan.c */
/* #define NO_BUFFERISVALID /* access/heap/heapam.c */
/* Undocumented "features"? */
#define FASTBUILD /* access/nbtree/nbtsort.c */
#endif /* CONFIG_H */ #endif /* CONFIG_H */