aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-09-07 05:04:48 +0000
committerBruce Momjian <bruce@momjian.us>1997-09-07 05:04:48 +0000
commit1ccd423235a48739d6f7a4d7889705b5f9ecc69b (patch)
tree8001c4e839dfad8f29ceda7f8c5f5dbb8759b564 /src/include/utils
parent8fecd4febf8357f3cc20383ed29ced484877d5ac (diff)
downloadpostgresql-1ccd423235a48739d6f7a4d7889705b5f9ecc69b.tar.gz
postgresql-1ccd423235a48739d6f7a4d7889705b5f9ecc69b.zip
Massive commit to run PGINDENT on all *.c and *.h files.
Diffstat (limited to 'src/include/utils')
-rw-r--r--src/include/utils/acl.h197
-rw-r--r--src/include/utils/array.h162
-rw-r--r--src/include/utils/bit.h24
-rw-r--r--src/include/utils/builtins.h817
-rw-r--r--src/include/utils/cash.h34
-rw-r--r--src/include/utils/catcache.h98
-rw-r--r--src/include/utils/datetime.h6
-rw-r--r--src/include/utils/datum.h19
-rw-r--r--src/include/utils/dt.h373
-rw-r--r--src/include/utils/dynahash.h11
-rw-r--r--src/include/utils/dynamic_loader.h31
-rw-r--r--src/include/utils/elog.h38
-rw-r--r--src/include/utils/exc.h107
-rw-r--r--src/include/utils/excid.h16
-rw-r--r--src/include/utils/fcache.h80
-rw-r--r--src/include/utils/fcache2.h8
-rw-r--r--src/include/utils/fmgrtab.h25
-rw-r--r--src/include/utils/geo_decls.h513
-rw-r--r--src/include/utils/hsearch.h190
-rw-r--r--src/include/utils/inval.h37
-rw-r--r--src/include/utils/lselect.h62
-rw-r--r--src/include/utils/lsyscache.h46
-rw-r--r--src/include/utils/mcxt.h39
-rw-r--r--src/include/utils/memutils.h271
-rw-r--r--src/include/utils/module.h18
-rw-r--r--src/include/utils/nabstime.h96
-rw-r--r--src/include/utils/oidcompos.h68
-rw-r--r--src/include/utils/palloc.h17
-rw-r--r--src/include/utils/portal.h85
-rw-r--r--src/include/utils/psort.h104
-rw-r--r--src/include/utils/rel.h155
-rw-r--r--src/include/utils/rel2.h15
-rw-r--r--src/include/utils/relcache.h26
-rw-r--r--src/include/utils/sets.h10
-rw-r--r--src/include/utils/syscache.h129
-rw-r--r--src/include/utils/tqual.h36
36 files changed, 2037 insertions, 1926 deletions
diff --git a/src/include/utils/acl.h b/src/include/utils/acl.h
index 5d9451d9689..f6e6a75ab5d 100644
--- a/src/include/utils/acl.h
+++ b/src/include/utils/acl.h
@@ -1,21 +1,21 @@
/*-------------------------------------------------------------------------
*
* acl.h--
- * Definition of (and support for) access control list data structures.
+ * Definition of (and support for) access control list data structures.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: acl.h,v 1.7 1997/08/19 21:40:18 momjian Exp $
+ * $Id: acl.h,v 1.8 1997/09/07 05:02:05 momjian Exp $
*
* NOTES
- * For backward-compatability purposes we have to allow there
- * to be a null ACL in a pg_class tuple. This will be defined as
- * meaning "no protection" (i.e., old catalogs get old semantics).
+ * For backward-compatability purposes we have to allow there
+ * to be a null ACL in a pg_class tuple. This will be defined as
+ * meaning "no protection" (i.e., old catalogs get old semantics).
*
- * The AclItems in an ACL array are currently kept in sorted order.
- * Things will break hard if you change that without changing the
- * code wherever this is included.
+ * The AclItems in an ACL array are currently kept in sorted order.
+ * Things will break hard if you change that without changing the
+ * code wherever this is included.
*
*-------------------------------------------------------------------------
*/
@@ -26,99 +26,106 @@
#include <utils/array.h>
/*
- * AclId system identifier for the user, group, etc.
- * XXX currently UNIX uid for users...
+ * AclId system identifier for the user, group, etc.
+ * XXX currently UNIX uid for users...
*/
-typedef uint32 AclId;
-#define ACL_ID_WORLD 0 /* XXX only idtype should be checked */
+typedef uint32 AclId;
+
+#define ACL_ID_WORLD 0 /* XXX only idtype should be checked */
/*
* AclIdType tag that describes if the AclId is a user, group, etc.
*/
-typedef uint8 AclIdType;
-#define ACL_IDTYPE_WORLD 0x00
-#define ACL_IDTYPE_UID 0x01 /* user id - from pg_user */
-#define ACL_IDTYPE_GID 0x02 /* group id - from pg_group */
+typedef uint8 AclIdType;
+
+#define ACL_IDTYPE_WORLD 0x00
+#define ACL_IDTYPE_UID 0x01 /* user id - from pg_user */
+#define ACL_IDTYPE_GID 0x02 /* group id - from pg_group */
/*
- * AclMode the actual permissions
- * XXX should probably use bit.h routines.
- * XXX should probably also stuff the modechg cruft in the
- * high bits, too.
+ * AclMode the actual permissions
+ * XXX should probably use bit.h routines.
+ * XXX should probably also stuff the modechg cruft in the
+ * high bits, too.
*/
-typedef uint8 AclMode;
-#define ACL_NO 0 /* no permissions */
-#define ACL_AP (1<<0) /* append */
-#define ACL_RD (1<<1) /* read */
-#define ACL_WR (1<<2) /* write (append/delete/replace) */
-#define ACL_RU (1<<3) /* place rules */
-#define N_ACL_MODES 4
-
-#define ACL_MODECHG_ADD 1
-#define ACL_MODECHG_DEL 2
-#define ACL_MODECHG_EQL 3
+typedef uint8 AclMode;
+
+#define ACL_NO 0 /* no permissions */
+#define ACL_AP (1<<0) /* append */
+#define ACL_RD (1<<1) /* read */
+#define ACL_WR (1<<2) /* write (append/delete/replace) */
+#define ACL_RU (1<<3) /* place rules */
+#define N_ACL_MODES 4
+
+#define ACL_MODECHG_ADD 1
+#define ACL_MODECHG_DEL 2
+#define ACL_MODECHG_EQL 3
/* change this line if you want to set the default acl permission */
-#define ACL_WORLD_DEFAULT (ACL_RD)
-/* #define ACL_WORLD_DEFAULT (ACL_RD|ACL_WR|ACL_AP|ACL_RU) */
-#define ACL_OWNER_DEFAULT (ACL_RD|ACL_WR|ACL_AP|ACL_RU)
+#define ACL_WORLD_DEFAULT (ACL_RD)
+/* #define ACL_WORLD_DEFAULT (ACL_RD|ACL_WR|ACL_AP|ACL_RU) */
+#define ACL_OWNER_DEFAULT (ACL_RD|ACL_WR|ACL_AP|ACL_RU)
/*
* AclItem
*/
-typedef struct AclItem {
- AclId ai_id;
- AclIdType ai_idtype;
- AclMode ai_mode;
-} AclItem;
-/* Note: if the size of AclItem changes,
+typedef struct AclItem
+{
+ AclId ai_id;
+ AclIdType ai_idtype;
+ AclMode ai_mode;
+} AclItem;
+
+/* Note: if the size of AclItem changes,
change the aclitem typlen in pg_type.h */
/*
- * The value of the first dimension-array element. Since these arrays
+ * The value of the first dimension-array element. Since these arrays
* always have a lower-bound of 0, this is the same as the number of
* elements in the array.
*/
-#define ARR_DIM0(a) (((unsigned *) (((char *) a) + sizeof(ArrayType)))[0])
+#define ARR_DIM0(a) (((unsigned *) (((char *) a) + sizeof(ArrayType)))[0])
/*
- * Acl a one-dimensional POSTGRES array of AclItem
+ * Acl a one-dimensional POSTGRES array of AclItem
*/
typedef ArrayType Acl;
-#define ACL_NUM(ACL) ARR_DIM0(ACL)
-#define ACL_DAT(ACL) ((AclItem *) ARR_DATA_PTR(ACL))
-#define ACL_N_SIZE(N) \
- ((unsigned) (ARR_OVERHEAD(1) + ((N) * sizeof(AclItem))))
-#define ACL_SIZE(ACL) ARR_SIZE(ACL)
+
+#define ACL_NUM(ACL) ARR_DIM0(ACL)
+#define ACL_DAT(ACL) ((AclItem *) ARR_DATA_PTR(ACL))
+#define ACL_N_SIZE(N) \
+ ((unsigned) (ARR_OVERHEAD(1) + ((N) * sizeof(AclItem))))
+#define ACL_SIZE(ACL) ARR_SIZE(ACL)
/*
- * IdList a one-dimensional POSTGRES array of AclId
+ * IdList a one-dimensional POSTGRES array of AclId
*/
typedef ArrayType IdList;
-#define IDLIST_NUM(IDL) ARR_DIM0(IDL)
-#define IDLIST_DAT(IDL) ((AclId *) ARR_DATA_PTR(IDL))
-#define IDLIST_N_SIZE(N) \
- ((unsigned) (ARR_OVERHEAD(1) + ((N) * sizeof(AclId))))
-#define IDLIST_SIZE(IDL) ARR_SIZE(IDL)
-
-#define ACL_MODECHG_STR "+-=" /* list of valid characters */
-#define ACL_MODECHG_ADD_CHR '+'
-#define ACL_MODECHG_DEL_CHR '-'
-#define ACL_MODECHG_EQL_CHR '='
-#define ACL_MODE_STR "arwR" /* list of valid characters */
-#define ACL_MODE_AP_CHR 'a'
-#define ACL_MODE_RD_CHR 'r'
-#define ACL_MODE_WR_CHR 'w'
-#define ACL_MODE_RU_CHR 'R'
+
+#define IDLIST_NUM(IDL) ARR_DIM0(IDL)
+#define IDLIST_DAT(IDL) ((AclId *) ARR_DATA_PTR(IDL))
+#define IDLIST_N_SIZE(N) \
+ ((unsigned) (ARR_OVERHEAD(1) + ((N) * sizeof(AclId))))
+#define IDLIST_SIZE(IDL) ARR_SIZE(IDL)
+
+#define ACL_MODECHG_STR "+-=" /* list of valid characters */
+#define ACL_MODECHG_ADD_CHR '+'
+#define ACL_MODECHG_DEL_CHR '-'
+#define ACL_MODECHG_EQL_CHR '='
+#define ACL_MODE_STR "arwR" /* list of valid characters */
+#define ACL_MODE_AP_CHR 'a'
+#define ACL_MODE_RD_CHR 'r'
+#define ACL_MODE_WR_CHR 'w'
+#define ACL_MODE_RU_CHR 'R'
/* result codes for pg_aclcheck */
-#define ACLCHECK_OK 0
-#define ACLCHECK_NO_PRIV 1
-#define ACLCHECK_NO_CLASS 2
-#define ACLCHECK_NOT_OWNER 3
+#define ACLCHECK_OK 0
+#define ACLCHECK_NO_PRIV 1
+#define ACLCHECK_NO_CLASS 2
+#define ACLCHECK_NOT_OWNER 3
/* warning messages. set these in aclchk.c. */
-extern char *aclcheck_error_strings[];
+extern char *aclcheck_error_strings[];
/*
* Enable ACL execution tracing and table dumps
@@ -126,41 +133,43 @@ extern char *aclcheck_error_strings[];
/*#define ACLDEBUG_TRACE*/
/*
- * routines used internally (parser, etc.)
+ * routines used internally (parser, etc.)
*/
-extern Acl *aclownerdefault(AclId ownerid);
-extern Acl *acldefault(void);
-extern Acl *aclinsert3(Acl *old_acl, AclItem *mod_aip, unsigned modechg);
+extern Acl *aclownerdefault(AclId ownerid);
+extern Acl *acldefault(void);
+extern Acl *aclinsert3(Acl * old_acl, AclItem * mod_aip, unsigned modechg);
-extern char* aclmakepriv(char* old_privlist, char new_priv);
-extern char* aclmakeuser(char* user_type, char* user);
-extern ChangeACLStmt* makeAclStmt(char* privs, List* rel_list, char* grantee,
- char grant_or_revoke);
+extern char *aclmakepriv(char *old_privlist, char new_priv);
+extern char *aclmakeuser(char *user_type, char *user);
+extern ChangeACLStmt *
+makeAclStmt(char *privs, List * rel_list, char *grantee,
+ char grant_or_revoke);
/*
* exported routines (from acl.c)
*/
-extern Acl *makeacl(int n);
+extern Acl *makeacl(int n);
extern AclItem *aclitemin(char *s);
-extern char *aclitemout(AclItem *aip);
-extern Acl *aclinsert(Acl *old_acl, AclItem *mod_aip);
-extern Acl *aclremove(Acl *old_acl, AclItem *mod_aip);
-extern int32 aclcontains(Acl *acl, AclItem *aip);
+extern char *aclitemout(AclItem * aip);
+extern Acl *aclinsert(Acl * old_acl, AclItem * mod_aip);
+extern Acl *aclremove(Acl * old_acl, AclItem * mod_aip);
+extern int32 aclcontains(Acl * acl, AclItem * aip);
/*
* prototypes for functions in aclchk.c
*/
-extern void ChangeAcl(char *relname, AclItem *mod_aip, unsigned modechg);
-extern AclId get_grosysid(char *groname);
-extern char *get_groname(AclId grosysid);
+extern void ChangeAcl(char *relname, AclItem * mod_aip, unsigned modechg);
+extern AclId get_grosysid(char *groname);
+extern char *get_groname(AclId grosysid);
/* XXX move these elsewhere -pma */
-extern int32 pg_aclcheck(char *relname, char *usename, AclMode mode);
-extern int32 pg_ownercheck(char *usename, char *value, int cacheid);
-extern int32 pg_func_ownercheck(char *usename, char *funcname,
- int nargs, Oid *arglist);
-extern int32 pg_aggr_ownercheck(char *usename, char *aggname,
- Oid basetypeID);
-
-#endif /* ACL_H */
-
+extern int32 pg_aclcheck(char *relname, char *usename, AclMode mode);
+extern int32 pg_ownercheck(char *usename, char *value, int cacheid);
+extern int32
+pg_func_ownercheck(char *usename, char *funcname,
+ int nargs, Oid * arglist);
+extern int32
+pg_aggr_ownercheck(char *usename, char *aggname,
+ Oid basetypeID);
+
+#endif /* ACL_H */
diff --git a/src/include/utils/array.h b/src/include/utils/array.h
index 2e574323637..e2cd808cbf9 100644
--- a/src/include/utils/array.h
+++ b/src/include/utils/array.h
@@ -1,21 +1,21 @@
/*-------------------------------------------------------------------------
*
* array.h--
- * Utilities for the new array code. Contain prototypes from the
- * following files:
- * utils/adt/arrayfuncs.c
- * utils/adt/arrayutils.c
- * utils/adt/chunk.c
+ * Utilities for the new array code. Contain prototypes from the
+ * following files:
+ * utils/adt/arrayfuncs.c
+ * utils/adt/arrayutils.c
+ * utils/adt/chunk.c
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: array.h,v 1.4 1997/08/19 21:40:21 momjian Exp $
+ * $Id: array.h,v 1.5 1997/09/07 05:02:07 momjian Exp $
*
* NOTES
- * XXX the data array should be LONGALIGN'd -- notice that the array
- * allocation code does not allocate the extra space required for this,
- * even though the array-packing code does the LONGALIGNs.
+ * XXX the data array should be LONGALIGN'd -- notice that the array
+ * allocation code does not allocate the extra space required for this,
+ * even though the array-packing code does the LONGALIGNs.
*
*-------------------------------------------------------------------------
*/
@@ -24,11 +24,12 @@
#include <stdio.h>
-typedef struct {
- int size; /* total array size (in bytes) */
- int ndim; /* # of dimensions */
- int flags; /* implementation flags */
-} ArrayType;
+typedef struct
+{
+ int size; /* total array size (in bytes) */
+ int ndim; /* # of dimensions */
+ int flags; /* implementation flags */
+} ArrayType;
/*
* bitmask of ArrayType flags field:
@@ -36,30 +37,30 @@ typedef struct {
* 2nd bit - chunk flag (array is chunked if set)
* 3rd,4th,&5th bit - large object type (used only if bit 1 is set)
*/
-#define ARR_LOB_FLAG (0x1)
-#define ARR_CHK_FLAG (0x2)
-#define ARR_OBJ_MASK (0x1c)
+#define ARR_LOB_FLAG (0x1)
+#define ARR_CHK_FLAG (0x2)
+#define ARR_OBJ_MASK (0x1c)
-#define ARR_FLAGS(a) ((ArrayType *) a)->flags
-#define ARR_SIZE(a) (((ArrayType *) a)->size)
+#define ARR_FLAGS(a) ((ArrayType *) a)->flags
+#define ARR_SIZE(a) (((ArrayType *) a)->size)
-#define ARR_NDIM(a) (((ArrayType *) a)->ndim)
-#define ARR_NDIM_PTR(a) (&(((ArrayType *) a)->ndim))
+#define ARR_NDIM(a) (((ArrayType *) a)->ndim)
+#define ARR_NDIM_PTR(a) (&(((ArrayType *) a)->ndim))
#define ARR_IS_LO(a) \
- (((ArrayType *) a)->flags & ARR_LOB_FLAG)
+ (((ArrayType *) a)->flags & ARR_LOB_FLAG)
#define SET_LO_FLAG(f,a) \
- (((ArrayType *) a)->flags |= ((f) ? ARR_LOB_FLAG : 0x0))
+ (((ArrayType *) a)->flags |= ((f) ? ARR_LOB_FLAG : 0x0))
#define ARR_IS_CHUNKED(a) \
- (((ArrayType *) a)->flags & ARR_CHK_FLAG)
+ (((ArrayType *) a)->flags & ARR_CHK_FLAG)
#define SET_CHUNK_FLAG(f,a) \
- (((ArrayType *) a)->flags |= ((f) ? ARR_CHK_FLAG : 0x0))
+ (((ArrayType *) a)->flags |= ((f) ? ARR_CHK_FLAG : 0x0))
#define ARR_OBJ_TYPE(a) \
- ((ARR_FLAGS(a) & ARR_OBJ_MASK) >> 2)
+ ((ARR_FLAGS(a) & ARR_OBJ_MASK) >> 2)
#define SET_OBJ_TYPE(f,a) \
- ((ARR_FLAGS(a)&= ~ARR_OBJ_MASK), (ARR_FLAGS(a)|=((f<<2)&ARR_OBJ_MASK)))
+ ((ARR_FLAGS(a)&= ~ARR_OBJ_MASK), (ARR_FLAGS(a)|=((f<<2)&ARR_OBJ_MASK)))
/*
* ARR_DIMS returns a pointer to an array of array dimensions (number of
@@ -73,23 +74,23 @@ typedef struct {
* Unlike C, the default lower bound is 1.
*/
#define ARR_DIMS(a) \
- ((int *) (((char *) a) + sizeof(ArrayType)))
+ ((int *) (((char *) a) + sizeof(ArrayType)))
#define ARR_LBOUND(a) \
- ((int *) (((char *) a) + sizeof(ArrayType) + \
- (sizeof(int) * (((ArrayType *) a)->ndim))))
+ ((int *) (((char *) a) + sizeof(ArrayType) + \
+ (sizeof(int) * (((ArrayType *) a)->ndim))))
/*
* Returns a pointer to the actual array data.
*/
#define ARR_DATA_PTR(a) \
- (((char *) a) + \
- DOUBLEALIGN(sizeof(ArrayType) + 2 * (sizeof(int) * (a)->ndim)))
+ (((char *) a) + \
+ DOUBLEALIGN(sizeof(ArrayType) + 2 * (sizeof(int) * (a)->ndim)))
/*
* The total array header size for an array of dimension n (in bytes).
*/
-#define ARR_OVERHEAD(n) \
- (DOUBLEALIGN(sizeof(ArrayType) + 2 * (n) * sizeof(int)))
+#define ARR_OVERHEAD(n) \
+ (DOUBLEALIGN(sizeof(ArrayType) + 2 * (n) * sizeof(int)))
/*------------------------------------------------------------------------
* Miscellaneous helper definitions and routines for arrayfuncs.c
@@ -98,37 +99,43 @@ typedef struct {
/* #if defined(irix5) */
/* #define RETURN_NULL {*isNull = true; return(0); }*/
-/* #else*/ /* irix5 */
+ /* #else*//* irix5 */
#define RETURN_NULL {*isNull = true; return(0); }
-/* #endif */ /* irix5 */
-#define NAME_LEN 30
+ /* #endif *//* irix5 */
+#define NAME_LEN 30
#define MAX_BUFF_SIZE (1 << 13)
-typedef struct {
- char lo_name[NAME_LEN];
- int C[MAXDIM];
-} CHUNK_INFO;
+typedef struct
+{
+ char lo_name[NAME_LEN];
+ int C[MAXDIM];
+} CHUNK_INFO;
/*
* prototypes for functions defined in arrayfuncs.c
*/
-extern char *array_in(char *string, Oid element_type);
-extern char *array_out(ArrayType *v, Oid element_type);
-extern char *array_dims(ArrayType *v, bool *isNull);
-extern Datum array_ref(ArrayType *array, int n, int indx[], int reftype,
- int elmlen, int arraylen, bool *isNull);
-extern Datum array_clip(ArrayType *array, int n, int upperIndx[],
- int lowerIndx[], int reftype, int len, bool *isNull);
-extern char *array_set(ArrayType *array, int n, int indx[], char *dataPtr,
- int reftype, int elmlen, int arraylen, bool *isNull);
-extern char *array_assgn(ArrayType *array, int n, int upperIndx[],
- int lowerIndx[], ArrayType *newArr, int reftype,
- int len, bool *isNull);
-extern int array_eq (ArrayType *array1, ArrayType *array2);
-extern int _LOtransfer(char **destfd, int size, int nitems, char **srcfd,
- int isSrcLO, int isDestLO);
-
-extern char * _array_newLO(int *fd, int flag);
+extern char *array_in(char *string, Oid element_type);
+extern char *array_out(ArrayType * v, Oid element_type);
+extern char *array_dims(ArrayType * v, bool * isNull);
+extern Datum
+array_ref(ArrayType * array, int n, int indx[], int reftype,
+ int elmlen, int arraylen, bool * isNull);
+extern Datum
+array_clip(ArrayType * array, int n, int upperIndx[],
+ int lowerIndx[], int reftype, int len, bool * isNull);
+extern char *
+array_set(ArrayType * array, int n, int indx[], char *dataPtr,
+ int reftype, int elmlen, int arraylen, bool * isNull);
+extern char *
+array_assgn(ArrayType * array, int n, int upperIndx[],
+ int lowerIndx[], ArrayType * newArr, int reftype,
+ int len, bool * isNull);
+extern int array_eq(ArrayType * array1, ArrayType * array2);
+extern int
+_LOtransfer(char **destfd, int size, int nitems, char **srcfd,
+ int isSrcLO, int isDestLO);
+
+extern char *_array_newLO(int *fd, int flag);
/*
@@ -136,25 +143,28 @@ extern char * _array_newLO(int *fd, int flag);
* [these names seem to be too generic. Add prefix for arrays? -- AY]
*/
-extern int GetOffset(int n, int dim[], int lb[], int indx[]);
-extern int getNitems(int n, int a[]);
-extern int compute_size(int st[], int endp[], int n, int base);
-extern void mda_get_offset_values(int n, int dist[], int PC[], int span[]);
-extern void mda_get_range(int n, int span[], int st[], int endp[]);
-extern void mda_get_prod(int n, int range[], int P[]);
-extern int tuple2linear(int n, int tup[], int scale[]);
-extern void array2chunk_coord(int n, int C[], int a_coord[], int c_coord[]);
-extern int next_tuple(int n, int curr[], int span[]);
+extern int GetOffset(int n, int dim[], int lb[], int indx[]);
+extern int getNitems(int n, int a[]);
+extern int compute_size(int st[], int endp[], int n, int base);
+extern void mda_get_offset_values(int n, int dist[], int PC[], int span[]);
+extern void mda_get_range(int n, int span[], int st[], int endp[]);
+extern void mda_get_prod(int n, int range[], int P[]);
+extern int tuple2linear(int n, int tup[], int scale[]);
+extern void array2chunk_coord(int n, int C[], int a_coord[], int c_coord[]);
+extern int next_tuple(int n, int curr[], int span[]);
/*
* prototypes for functions defined in chunk.c
*/
-extern char * _ChunkArray(int fd, FILE *afd, int ndim, int dim[], int baseSize,
- int *nbytes, char *chunkfile);
-extern int _ReadChunkArray(int st[], int endp[], int bsize, int fp,
- char *destfp, ArrayType *array, int isDestLO, bool *isNull);
-extern struct varlena *_ReadChunkArray1El(int st[], int bsize, int fp,
- ArrayType *array, bool *isNull);
-
-
-#endif /* ARRAY_H */
+extern char *
+_ChunkArray(int fd, FILE * afd, int ndim, int dim[], int baseSize,
+ int *nbytes, char *chunkfile);
+extern int
+_ReadChunkArray(int st[], int endp[], int bsize, int fp,
+ char *destfp, ArrayType * array, int isDestLO, bool * isNull);
+extern struct varlena *
+_ReadChunkArray1El(int st[], int bsize, int fp,
+ ArrayType * array, bool * isNull);
+
+
+#endif /* ARRAY_H */
diff --git a/src/include/utils/bit.h b/src/include/utils/bit.h
index dc190accc6b..ab68c0d6087 100644
--- a/src/include/utils/bit.h
+++ b/src/include/utils/bit.h
@@ -1,39 +1,39 @@
/*-------------------------------------------------------------------------
*
* bit.h--
- * Standard bit array definitions.
+ * Standard bit array definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: bit.h,v 1.1 1996/08/28 01:58:43 scrappy Exp $
+ * $Id: bit.h,v 1.2 1997/09/07 05:02:09 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef BIT_H
+#ifndef BIT_H
#define BIT_H
-typedef bits8 *BitArray;
+typedef bits8 *BitArray;
typedef uint32 BitIndex;
-#define BitsPerByte 8
+#define BitsPerByte 8
/*
* BitArraySetBit --
- * Sets (to 1) the value of a bit in a bit array.
+ * Sets (to 1) the value of a bit in a bit array.
*/
-extern void BitArraySetBit(BitArray bitArray, BitIndex bitIndex);
+extern void BitArraySetBit(BitArray bitArray, BitIndex bitIndex);
/*
* BitArrayClearBit --
- * Clears (to 0) the value of a bit in a bit array.
+ * Clears (to 0) the value of a bit in a bit array.
*/
-extern void BitArrayClearBit(BitArray bitArray, BitIndex bitIndex);
+extern void BitArrayClearBit(BitArray bitArray, BitIndex bitIndex);
/*
* BitArrayBitIsSet --
- * True iff the bit is set (1) in a bit array.
+ * True iff the bit is set (1) in a bit array.
*/
-extern bool BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex);
+extern bool BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex);
-#endif /* BIT_H */
+#endif /* BIT_H */
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h
index 9a28e1f3ca6..05252ca01e9 100644
--- a/src/include/utils/builtins.h
+++ b/src/include/utils/builtins.h
@@ -1,17 +1,17 @@
/*-------------------------------------------------------------------------
*
* builtins.h--
- * Declarations for operations on built-in types.
+ * Declarations for operations on built-in types.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: builtins.h,v 1.21 1997/08/19 21:40:26 momjian Exp $
+ * $Id: builtins.h,v 1.22 1997/09/07 05:02:11 momjian Exp $
*
* NOTES
- * This should normally only be included by fmgr.h.
- * Under no circumstances should it ever be included before
- * including fmgr.h!
+ * This should normally only be included by fmgr.h.
+ * Under no circumstances should it ever be included before
+ * including fmgr.h!
*
*-------------------------------------------------------------------------
*/
@@ -26,161 +26,161 @@
#include <utils/rel.h>
/*
- * Defined in adt/
+ * Defined in adt/
*/
/* bool.c */
-extern bool boolin(char *b);
-extern char *boolout(long b);
-extern bool booleq(int8 arg1, int8 arg2);
-extern bool boolne(int8 arg1, int8 arg2);
-extern bool boollt(int8 arg1, int8 arg2);
-extern bool boolgt(int8 arg1, int8 arg2);
+extern bool boolin(char *b);
+extern char *boolout(long b);
+extern bool booleq(int8 arg1, int8 arg2);
+extern bool boolne(int8 arg1, int8 arg2);
+extern bool boollt(int8 arg1, int8 arg2);
+extern bool boolgt(int8 arg1, int8 arg2);
/* char.c */
-extern int32 charin(char *ch);
-extern char *charout(int32 ch);
-extern int32 cidin(char *s);
-extern char *cidout(int32 c);
-extern char *char16in(char *s);
-extern char *char16out(char *s);
-extern bool chareq(int8 arg1, int8 arg2);
-extern bool charne(int8 arg1, int8 arg2);
-extern bool charlt(int8 arg1, int8 arg2);
-extern bool charle(int8 arg1, int8 arg2);
-extern bool chargt(int8 arg1, int8 arg2);
-extern bool charge(int8 arg1, int8 arg2);
-extern int8 charpl(int8 arg1, int8 arg2);
-extern int8 charmi(int8 arg1, int8 arg2);
-extern int8 charmul(int8 arg1, int8 arg2);
-extern int8 chardiv(int8 arg1, int8 arg2);
-extern bool cideq(int8 arg1, int8 arg2);
-extern bool char16eq(char *arg1, char *arg2);
-extern bool char16ne(char *arg1, char *arg2);
-extern bool char16lt(char *arg1, char *arg2);
-extern bool char16le(char *arg1, char *arg2);
-extern bool char16gt(char *arg1, char *arg2);
-extern bool char16ge(char *arg1, char *arg2);
-extern uint16 char2in(char *s);
-extern char *char2out(uint16 s);
-extern bool char2eq(uint16 a, uint16 b);
-extern bool char2ne(uint16 a, uint16 b);
-extern bool char2lt(uint16 a, uint16 b);
-extern bool char2le(uint16 a, uint16 b);
-extern bool char2gt(uint16 a, uint16 b);
-extern bool char2ge(uint16 a, uint16 b);
-extern int32 char2cmp(uint16 a, uint16 b);
-extern uint32 char4in(char *s);
-extern char *char4out(uint32 s);
-extern bool char4eq(uint32 a, uint32 b);
-extern bool char4ne(uint32 a, uint32 b);
-extern bool char4lt(uint32 a, uint32 b);
-extern bool char4le(uint32 a, uint32 b);
-extern bool char4gt(uint32 a, uint32 b);
-extern bool char4ge(uint32 a, uint32 b);
-extern int32 char4cmp(uint32 a, uint32 b);
-extern char *char8in(char *s);
-extern char *char8out(char *s);
-extern bool char8eq(char *arg1, char *arg2);
-extern bool char8ne(char *arg1, char *arg2);
-extern bool char8lt(char *arg1, char *arg2);
-extern bool char8le(char *arg1, char *arg2);
-extern bool char8gt(char *arg1, char *arg2);
-extern bool char8ge(char *arg1, char *arg2);
-extern int32 char8cmp(char *arg1, char *arg2);
+extern int32 charin(char *ch);
+extern char *charout(int32 ch);
+extern int32 cidin(char *s);
+extern char *cidout(int32 c);
+extern char *char16in(char *s);
+extern char *char16out(char *s);
+extern bool chareq(int8 arg1, int8 arg2);
+extern bool charne(int8 arg1, int8 arg2);
+extern bool charlt(int8 arg1, int8 arg2);
+extern bool charle(int8 arg1, int8 arg2);
+extern bool chargt(int8 arg1, int8 arg2);
+extern bool charge(int8 arg1, int8 arg2);
+extern int8 charpl(int8 arg1, int8 arg2);
+extern int8 charmi(int8 arg1, int8 arg2);
+extern int8 charmul(int8 arg1, int8 arg2);
+extern int8 chardiv(int8 arg1, int8 arg2);
+extern bool cideq(int8 arg1, int8 arg2);
+extern bool char16eq(char *arg1, char *arg2);
+extern bool char16ne(char *arg1, char *arg2);
+extern bool char16lt(char *arg1, char *arg2);
+extern bool char16le(char *arg1, char *arg2);
+extern bool char16gt(char *arg1, char *arg2);
+extern bool char16ge(char *arg1, char *arg2);
+extern uint16 char2in(char *s);
+extern char *char2out(uint16 s);
+extern bool char2eq(uint16 a, uint16 b);
+extern bool char2ne(uint16 a, uint16 b);
+extern bool char2lt(uint16 a, uint16 b);
+extern bool char2le(uint16 a, uint16 b);
+extern bool char2gt(uint16 a, uint16 b);
+extern bool char2ge(uint16 a, uint16 b);
+extern int32 char2cmp(uint16 a, uint16 b);
+extern uint32 char4in(char *s);
+extern char *char4out(uint32 s);
+extern bool char4eq(uint32 a, uint32 b);
+extern bool char4ne(uint32 a, uint32 b);
+extern bool char4lt(uint32 a, uint32 b);
+extern bool char4le(uint32 a, uint32 b);
+extern bool char4gt(uint32 a, uint32 b);
+extern bool char4ge(uint32 a, uint32 b);
+extern int32 char4cmp(uint32 a, uint32 b);
+extern char *char8in(char *s);
+extern char *char8out(char *s);
+extern bool char8eq(char *arg1, char *arg2);
+extern bool char8ne(char *arg1, char *arg2);
+extern bool char8lt(char *arg1, char *arg2);
+extern bool char8le(char *arg1, char *arg2);
+extern bool char8gt(char *arg1, char *arg2);
+extern bool char8ge(char *arg1, char *arg2);
+extern int32 char8cmp(char *arg1, char *arg2);
/* int.c */
-extern int32 int2in(char *num);
-extern char *int2out(int16 sh);
-extern int16 *int28in(char *shs);
-extern char *int28out(int16 (*shs)[]);
-extern int32 *int44in(char *input_string);
-extern char *int44out(int32 an_array[]);
-extern int32 int4in(char *num);
-extern char *int4out(int32 l);
-extern int32 i2toi4(int16 arg1);
-extern int16 i4toi2(int32 arg1);
-extern bool int4eq(int32 arg1, int32 arg2);
-extern bool int4ne(int32 arg1, int32 arg2);
-extern bool int4lt(int32 arg1, int32 arg2);
-extern bool int4le(int32 arg1, int32 arg2);
-extern bool int4gt(int32 arg1, int32 arg2);
-extern bool int4ge(int32 arg1, int32 arg2);
-extern bool int2eq(int16 arg1, int16 arg2);
-extern bool int2ne(int16 arg1, int16 arg2);
-extern bool int2lt(int16 arg1, int16 arg2);
-extern bool int2le(int16 arg1, int16 arg2);
-extern bool int2gt(int16 arg1, int16 arg2);
-extern bool int2ge(int16 arg1, int16 arg2);
-extern bool int24eq(int32 arg1, int32 arg2);
-extern bool int24ne(int32 arg1, int32 arg2);
-extern bool int24lt(int32 arg1, int32 arg2);
-extern bool int24le(int32 arg1, int32 arg2);
-extern bool int24gt(int32 arg1, int32 arg2);
-extern bool int24ge(int32 arg1, int32 arg2);
-extern bool int42eq(int32 arg1, int32 arg2);
-extern bool int42ne(int32 arg1, int32 arg2);
-extern bool int42lt(int32 arg1, int32 arg2);
-extern bool int42le(int32 arg1, int32 arg2);
-extern bool int42gt(int32 arg1, int32 arg2);
-extern bool int42ge(int32 arg1, int32 arg2);
-extern bool keyfirsteq(int16 *arg1, int16 arg2);
-extern int32 int4um(int32 arg);
-extern int32 int4pl(int32 arg1, int32 arg2);
-extern int32 int4mi(int32 arg1, int32 arg2);
-extern int32 int4mul(int32 arg1, int32 arg2);
-extern int32 int4div(int32 arg1, int32 arg2);
-extern int32 int4inc(int32 arg);
-extern int16 int2um(int16 arg);
-extern int16 int2pl(int16 arg1, int16 arg2);
-extern int16 int2mi(int16 arg1, int16 arg2);
-extern int16 int2mul(int16 arg1, int16 arg2);
-extern int16 int2div(int16 arg1, int16 arg2);
-extern int16 int2inc(int16 arg);
-extern int32 int24pl(int32 arg1, int32 arg2);
-extern int32 int24mi(int32 arg1, int32 arg2);
-extern int32 int24mul(int32 arg1, int32 arg2);
-extern int32 int24div(int32 arg1, int32 arg2);
-extern int32 int42pl(int32 arg1, int32 arg2);
-extern int32 int42mi(int32 arg1, int32 arg2);
-extern int32 int42mul(int32 arg1, int32 arg2);
-extern int32 int42div(int32 arg1, int32 arg2);
-extern int32 int4mod(int32 arg1, int32 arg2);
-extern int32 int2mod(int16 arg1, int16 arg2);
-extern int32 int24mod(int32 arg1, int32 arg2);
-extern int32 int42mod(int32 arg1, int32 arg2);
-extern int32 int4fac(int32 arg1);
-extern int32 int2fac(int16 arg1);
-extern int16 int2larger(int16 arg1, int16 arg2);
-extern int16 int2smaller(int16 arg1, int16 arg2);
-extern int32 int4larger(int32 arg1, int32 arg2);
-extern int32 int4smaller(int32 arg1, int32 arg2);
+extern int32 int2in(char *num);
+extern char *int2out(int16 sh);
+extern int16 *int28in(char *shs);
+extern char *int28out(int16(*shs)[]);
+extern int32 *int44in(char *input_string);
+extern char *int44out(int32 an_array[]);
+extern int32 int4in(char *num);
+extern char *int4out(int32 l);
+extern int32 i2toi4(int16 arg1);
+extern int16 i4toi2(int32 arg1);
+extern bool int4eq(int32 arg1, int32 arg2);
+extern bool int4ne(int32 arg1, int32 arg2);
+extern bool int4lt(int32 arg1, int32 arg2);
+extern bool int4le(int32 arg1, int32 arg2);
+extern bool int4gt(int32 arg1, int32 arg2);
+extern bool int4ge(int32 arg1, int32 arg2);
+extern bool int2eq(int16 arg1, int16 arg2);
+extern bool int2ne(int16 arg1, int16 arg2);
+extern bool int2lt(int16 arg1, int16 arg2);
+extern bool int2le(int16 arg1, int16 arg2);
+extern bool int2gt(int16 arg1, int16 arg2);
+extern bool int2ge(int16 arg1, int16 arg2);
+extern bool int24eq(int32 arg1, int32 arg2);
+extern bool int24ne(int32 arg1, int32 arg2);
+extern bool int24lt(int32 arg1, int32 arg2);
+extern bool int24le(int32 arg1, int32 arg2);
+extern bool int24gt(int32 arg1, int32 arg2);
+extern bool int24ge(int32 arg1, int32 arg2);
+extern bool int42eq(int32 arg1, int32 arg2);
+extern bool int42ne(int32 arg1, int32 arg2);
+extern bool int42lt(int32 arg1, int32 arg2);
+extern bool int42le(int32 arg1, int32 arg2);
+extern bool int42gt(int32 arg1, int32 arg2);
+extern bool int42ge(int32 arg1, int32 arg2);
+extern bool keyfirsteq(int16 * arg1, int16 arg2);
+extern int32 int4um(int32 arg);
+extern int32 int4pl(int32 arg1, int32 arg2);
+extern int32 int4mi(int32 arg1, int32 arg2);
+extern int32 int4mul(int32 arg1, int32 arg2);
+extern int32 int4div(int32 arg1, int32 arg2);
+extern int32 int4inc(int32 arg);
+extern int16 int2um(int16 arg);
+extern int16 int2pl(int16 arg1, int16 arg2);
+extern int16 int2mi(int16 arg1, int16 arg2);
+extern int16 int2mul(int16 arg1, int16 arg2);
+extern int16 int2div(int16 arg1, int16 arg2);
+extern int16 int2inc(int16 arg);
+extern int32 int24pl(int32 arg1, int32 arg2);
+extern int32 int24mi(int32 arg1, int32 arg2);
+extern int32 int24mul(int32 arg1, int32 arg2);
+extern int32 int24div(int32 arg1, int32 arg2);
+extern int32 int42pl(int32 arg1, int32 arg2);
+extern int32 int42mi(int32 arg1, int32 arg2);
+extern int32 int42mul(int32 arg1, int32 arg2);
+extern int32 int42div(int32 arg1, int32 arg2);
+extern int32 int4mod(int32 arg1, int32 arg2);
+extern int32 int2mod(int16 arg1, int16 arg2);
+extern int32 int24mod(int32 arg1, int32 arg2);
+extern int32 int42mod(int32 arg1, int32 arg2);
+extern int32 int4fac(int32 arg1);
+extern int32 int2fac(int16 arg1);
+extern int16 int2larger(int16 arg1, int16 arg2);
+extern int16 int2smaller(int16 arg1, int16 arg2);
+extern int32 int4larger(int32 arg1, int32 arg2);
+extern int32 int4smaller(int32 arg1, int32 arg2);
/* name.c */
extern NameData *namein(char *s);
-extern char *nameout(NameData *s);
-extern bool nameeq(NameData *arg1, NameData *arg2);
-extern bool namene(NameData *arg1, NameData *arg2);
-extern bool namelt(NameData *arg1, NameData *arg2);
-extern bool namele(NameData *arg1, NameData *arg2);
-extern bool namegt(NameData *arg1, NameData *arg2);
-extern bool namege(NameData *arg1, NameData *arg2);
-extern int namecmp(Name n1, Name n2);
-extern int namecpy(Name n1, Name n2);
-extern int namestrcpy(Name name, char *str);
-extern int namestrcmp(Name name, char *str);
+extern char *nameout(NameData * s);
+extern bool nameeq(NameData * arg1, NameData * arg2);
+extern bool namene(NameData * arg1, NameData * arg2);
+extern bool namelt(NameData * arg1, NameData * arg2);
+extern bool namele(NameData * arg1, NameData * arg2);
+extern bool namegt(NameData * arg1, NameData * arg2);
+extern bool namege(NameData * arg1, NameData * arg2);
+extern int namecmp(Name n1, Name n2);
+extern int namecpy(Name n1, Name n2);
+extern int namestrcpy(Name name, char *str);
+extern int namestrcmp(Name name, char *str);
/* numutils.c */
/* XXX hack. HP-UX has a ltoa (with different arguments) already. */
#ifdef hpux
#define ltoa pg_ltoa
-#endif /* hpux */
-extern int32 pg_atoi(char *s, int size, int c);
-extern void itoa(int i, char *a);
-extern void ltoa(int32 l, char *a);
+#endif /* hpux */
+extern int32 pg_atoi(char *s, int size, int c);
+extern void itoa(int i, char *a);
+extern void ltoa(int32 l, char *a);
/*
- * Per-opclass comparison functions for new btrees. These are
- * stored in pg_amproc and defined in nbtree/
+ * Per-opclass comparison functions for new btrees. These are
+ * stored in pg_amproc and defined in nbtree/
*/
extern int32 btint2cmp(int16 a, int16 b);
extern int32 btint4cmp(int32 a, int32 b);
@@ -195,343 +195,344 @@ extern int32 btchar2cmp(uint16 a, uint16 b);
extern int32 btchar4cmp(uint32 a, uint32 b);
extern int32 btchar8cmp(char *a, char *b);
extern int32 btchar16cmp(char *a, char *b);
-extern int32 btnamecmp(NameData *a, NameData *b);
-extern int32 bttextcmp(struct varlena *a, struct varlena *b);
+extern int32 btnamecmp(NameData * a, NameData * b);
+extern int32 bttextcmp(struct varlena * a, struct varlena * b);
/* support routines for the rtree access method, by opclass */
-extern BOX *rt_box_union(BOX *a,BOX *b);
-extern BOX *rt_box_inter(BOX *a, BOX *b);
-extern void rt_box_size(BOX *a, float *size);
-extern void rt_bigbox_size(BOX *a,float *size);
-extern void rt_poly_size(POLYGON *a, float *size);
-extern POLYGON *rt_poly_union(POLYGON *a, POLYGON *b);
-extern POLYGON *rt_poly_inter(POLYGON *a, POLYGON *b);
+extern BOX *rt_box_union(BOX * a, BOX * b);
+extern BOX *rt_box_inter(BOX * a, BOX * b);
+extern void rt_box_size(BOX * a, float *size);
+extern void rt_bigbox_size(BOX * a, float *size);
+extern void rt_poly_size(POLYGON * a, float *size);
+extern POLYGON *rt_poly_union(POLYGON * a, POLYGON * b);
+extern POLYGON *rt_poly_inter(POLYGON * a, POLYGON * b);
/* projection utilities */
-/* extern char *GetAttributeByName();
+/* extern char *GetAttributeByName();
extern char *GetAttributeByNum(); ,
in executor/executor.h*/
-extern int32 pqtest(struct varlena *vlena);
+extern int32 pqtest(struct varlena * vlena);
/* arrayfuncs.c */
/* date.c */
-extern int32 reltimein(char *timestring);
-extern char *reltimeout(int32 timevalue);
+extern int32 reltimein(char *timestring);
+extern char *reltimeout(int32 timevalue);
extern TimeInterval tintervalin(char *intervalstr);
-extern char *tintervalout(TimeInterval interval);
-extern RelativeTime timespan_reltime(TimeSpan *timespan);
+extern char *tintervalout(TimeInterval interval);
+extern RelativeTime timespan_reltime(TimeSpan * timespan);
extern TimeSpan *reltime_timespan(RelativeTime reltime);
extern TimeInterval mktinterval(AbsoluteTime t1, AbsoluteTime t2);
extern AbsoluteTime timepl(AbsoluteTime t1, RelativeTime t2);
extern AbsoluteTime timemi(AbsoluteTime t1, RelativeTime t2);
+
/* extern RelativeTime abstimemi(AbsoluteTime t1, AbsoluteTime t2); static*/
-extern int ininterval(AbsoluteTime t, TimeInterval interval);
+extern int ininterval(AbsoluteTime t, TimeInterval interval);
extern RelativeTime intervalrel(TimeInterval interval);
extern AbsoluteTime timenow(void);
-extern bool reltimeeq(RelativeTime t1, RelativeTime t2);
-extern bool reltimene(RelativeTime t1, RelativeTime t2);
-extern bool reltimelt(RelativeTime t1, RelativeTime t2);
-extern bool reltimegt(RelativeTime t1, RelativeTime t2);
-extern bool reltimele(RelativeTime t1, RelativeTime t2);
-extern bool reltimege(RelativeTime t1, RelativeTime t2);
-extern bool intervaleq(TimeInterval i1, TimeInterval i2);
-extern bool intervalleneq(TimeInterval i, RelativeTime t);
-extern bool intervallenne(TimeInterval i, RelativeTime t);
-extern bool intervallenlt(TimeInterval i, RelativeTime t);
-extern bool intervallengt(TimeInterval i, RelativeTime t);
-extern bool intervallenle(TimeInterval i, RelativeTime t);
-extern bool intervallenge(TimeInterval i, RelativeTime t);
-extern bool intervalct(TimeInterval i1, TimeInterval i2);
-extern bool intervalov(TimeInterval i1, TimeInterval i2);
+extern bool reltimeeq(RelativeTime t1, RelativeTime t2);
+extern bool reltimene(RelativeTime t1, RelativeTime t2);
+extern bool reltimelt(RelativeTime t1, RelativeTime t2);
+extern bool reltimegt(RelativeTime t1, RelativeTime t2);
+extern bool reltimele(RelativeTime t1, RelativeTime t2);
+extern bool reltimege(RelativeTime t1, RelativeTime t2);
+extern bool intervaleq(TimeInterval i1, TimeInterval i2);
+extern bool intervalleneq(TimeInterval i, RelativeTime t);
+extern bool intervallenne(TimeInterval i, RelativeTime t);
+extern bool intervallenlt(TimeInterval i, RelativeTime t);
+extern bool intervallengt(TimeInterval i, RelativeTime t);
+extern bool intervallenle(TimeInterval i, RelativeTime t);
+extern bool intervallenge(TimeInterval i, RelativeTime t);
+extern bool intervalct(TimeInterval i1, TimeInterval i2);
+extern bool intervalov(TimeInterval i1, TimeInterval i2);
extern AbsoluteTime intervalstart(TimeInterval i);
extern AbsoluteTime intervalend(TimeInterval i);
-extern int isreltime(char *timestring);
-extern text *timeofday(void);
+extern int isreltime(char *timestring);
+extern text *timeofday(void);
/* dt.c */
extern DateTime *datetime_in(char *str);
-extern char *datetime_out(DateTime *datetime);
+extern char *datetime_out(DateTime * datetime);
extern TimeSpan *timespan_in(char *str);
-extern char *timespan_out(TimeSpan *timespan);
-extern int datetime2tm( DateTime dt, int *tzp, struct tm *tm, double *fsec, char **tzn);
+extern char *timespan_out(TimeSpan * timespan);
+extern int datetime2tm(DateTime dt, int *tzp, struct tm * tm, double *fsec, char **tzn);
/* filename.c */
-extern char *filename_in(char *file);
-extern char *filename_out(char *s);
+extern char *filename_in(char *file);
+extern char *filename_out(char *s);
/* float.c */
-extern void CheckFloat8Val(double val); /* used by lex */
-extern float32 float4in(char *num);
-extern char *float4out(float32 num);
-extern float64 float8in(char *num);
-extern char *float8out(float64 num);
-extern float32 float4abs(float32 arg1);
-extern float32 float4um(float32 arg1);
-extern float32 float4larger(float32 arg1, float32 arg2);
-extern float32 float4smaller(float32 arg1, float32 arg2);
-extern float64 float8abs(float64 arg1);
-extern float64 float8um(float64 arg1);
-extern float64 float8larger(float64 arg1, float64 arg2);
-extern float64 float8smaller(float64 arg1, float64 arg2);
-extern float32 float4pl(float32 arg1, float32 arg2);
-extern float32 float4mi(float32 arg1, float32 arg2);
-extern float32 float4mul(float32 arg1, float32 arg2);
-extern float32 float4div(float32 arg1, float32 arg2);
-extern float32 float4inc(float32 arg1);
-extern float64 float8pl(float64 arg1, float64 arg2);
-extern float64 float8mi(float64 arg1, float64 arg2);
-extern float64 float8mul(float64 arg1, float64 arg2);
-extern float64 float8div(float64 arg1, float64 arg2);
-extern float64 float8inc(float64 arg1);
-extern bool float4eq(float32 arg1, float32 arg2);
-extern bool float4ne(float32 arg1, float32 arg2);
-extern bool float4lt(float32 arg1, float32 arg2);
-extern bool float4le(float32 arg1, float32 arg2);
-extern bool float4gt(float32 arg1, float32 arg2);
-extern bool float4ge(float32 arg1, float32 arg2);
-extern bool float8eq(float64 arg1, float64 arg2);
-extern bool float8ne(float64 arg1, float64 arg2);
-extern bool float8lt(float64 arg1, float64 arg2);
-extern bool float8le(float64 arg1, float64 arg2);
-extern bool float8gt(float64 arg1, float64 arg2);
-extern bool float8ge(float64 arg1, float64 arg2);
-extern float64 ftod(float32 num);
-extern float64 i4tod(int32 num);
-extern float64 i2tod(int16 num);
-extern float32 dtof(float64 num);
-extern int32 dtoi4(float64 num);
-extern int16 dtoi2(float64 num);
-extern float32 i4tof(int32 num);
-extern float32 i2tof(int16 num);
-extern int32 ftoi4(float32 num);
-extern int16 ftoi2(float32 num);
-extern float64 dround(float64 arg1);
-extern float64 dtrunc(float64 arg1);
-extern float64 dsqrt(float64 arg1);
-extern float64 dcbrt(float64 arg1);
-extern float64 dpow(float64 arg1, float64 arg2);
-extern float64 dexp(float64 arg1);
-extern float64 dlog1(float64 arg1);
-extern float64 float48pl(float32 arg1, float64 arg2);
-extern float64 float48mi(float32 arg1, float64 arg2);
-extern float64 float48mul(float32 arg1, float64 arg2);
-extern float64 float48div(float32 arg1, float64 arg2);
-extern float64 float84pl(float64 arg1, float32 arg2);
-extern float64 float84mi(float64 arg1, float32 arg2);
-extern float64 float84mul(float64 arg1, float32 arg2);
-extern float64 float84div(float64 arg1, float32 arg2);
-extern bool float48eq(float32 arg1, float64 arg2);
-extern bool float48ne(float32 arg1, float64 arg2);
-extern bool float48lt(float32 arg1, float64 arg2);
-extern bool float48le(float32 arg1, float64 arg2);
-extern bool float48gt(float32 arg1, float64 arg2);
-extern bool float48ge(float32 arg1, float64 arg2);
-extern bool float84eq(float64 arg1, float32 arg2);
-extern bool float84ne(float64 arg1, float32 arg2);
-extern bool float84lt(float64 arg1, float32 arg2);
-extern bool float84le(float64 arg1, float32 arg2);
-extern bool float84gt(float64 arg1, float32 arg2);
-extern bool float84ge(float64 arg1, float32 arg2);
+extern void CheckFloat8Val(double val); /* used by lex */
+extern float32 float4in(char *num);
+extern char *float4out(float32 num);
+extern float64 float8in(char *num);
+extern char *float8out(float64 num);
+extern float32 float4abs(float32 arg1);
+extern float32 float4um(float32 arg1);
+extern float32 float4larger(float32 arg1, float32 arg2);
+extern float32 float4smaller(float32 arg1, float32 arg2);
+extern float64 float8abs(float64 arg1);
+extern float64 float8um(float64 arg1);
+extern float64 float8larger(float64 arg1, float64 arg2);
+extern float64 float8smaller(float64 arg1, float64 arg2);
+extern float32 float4pl(float32 arg1, float32 arg2);
+extern float32 float4mi(float32 arg1, float32 arg2);
+extern float32 float4mul(float32 arg1, float32 arg2);
+extern float32 float4div(float32 arg1, float32 arg2);
+extern float32 float4inc(float32 arg1);
+extern float64 float8pl(float64 arg1, float64 arg2);
+extern float64 float8mi(float64 arg1, float64 arg2);
+extern float64 float8mul(float64 arg1, float64 arg2);
+extern float64 float8div(float64 arg1, float64 arg2);
+extern float64 float8inc(float64 arg1);
+extern bool float4eq(float32 arg1, float32 arg2);
+extern bool float4ne(float32 arg1, float32 arg2);
+extern bool float4lt(float32 arg1, float32 arg2);
+extern bool float4le(float32 arg1, float32 arg2);
+extern bool float4gt(float32 arg1, float32 arg2);
+extern bool float4ge(float32 arg1, float32 arg2);
+extern bool float8eq(float64 arg1, float64 arg2);
+extern bool float8ne(float64 arg1, float64 arg2);
+extern bool float8lt(float64 arg1, float64 arg2);
+extern bool float8le(float64 arg1, float64 arg2);
+extern bool float8gt(float64 arg1, float64 arg2);
+extern bool float8ge(float64 arg1, float64 arg2);
+extern float64 ftod(float32 num);
+extern float64 i4tod(int32 num);
+extern float64 i2tod(int16 num);
+extern float32 dtof(float64 num);
+extern int32 dtoi4(float64 num);
+extern int16 dtoi2(float64 num);
+extern float32 i4tof(int32 num);
+extern float32 i2tof(int16 num);
+extern int32 ftoi4(float32 num);
+extern int16 ftoi2(float32 num);
+extern float64 dround(float64 arg1);
+extern float64 dtrunc(float64 arg1);
+extern float64 dsqrt(float64 arg1);
+extern float64 dcbrt(float64 arg1);
+extern float64 dpow(float64 arg1, float64 arg2);
+extern float64 dexp(float64 arg1);
+extern float64 dlog1(float64 arg1);
+extern float64 float48pl(float32 arg1, float64 arg2);
+extern float64 float48mi(float32 arg1, float64 arg2);
+extern float64 float48mul(float32 arg1, float64 arg2);
+extern float64 float48div(float32 arg1, float64 arg2);
+extern float64 float84pl(float64 arg1, float32 arg2);
+extern float64 float84mi(float64 arg1, float32 arg2);
+extern float64 float84mul(float64 arg1, float32 arg2);
+extern float64 float84div(float64 arg1, float32 arg2);
+extern bool float48eq(float32 arg1, float64 arg2);
+extern bool float48ne(float32 arg1, float64 arg2);
+extern bool float48lt(float32 arg1, float64 arg2);
+extern bool float48le(float32 arg1, float64 arg2);
+extern bool float48gt(float32 arg1, float64 arg2);
+extern bool float48ge(float32 arg1, float64 arg2);
+extern bool float84eq(float64 arg1, float32 arg2);
+extern bool float84ne(float64 arg1, float32 arg2);
+extern bool float84lt(float64 arg1, float32 arg2);
+extern bool float84le(float64 arg1, float32 arg2);
+extern bool float84gt(float64 arg1, float32 arg2);
+extern bool float84ge(float64 arg1, float32 arg2);
/* geo_ops.c, geo_selfuncs.c */
-extern double *box_area(BOX *box);
+extern double *box_area(BOX * box);
/* misc.c */
-extern bool nullvalue(Datum value, bool *isNull);
-extern bool nonnullvalue(Datum value, bool *isNull);
-extern bool oidrand(Oid o, int32 X);
-extern bool oidsrand(int32 X);
-extern int32 userfntest(int i);
+extern bool nullvalue(Datum value, bool * isNull);
+extern bool nonnullvalue(Datum value, bool * isNull);
+extern bool oidrand(Oid o, int32 X);
+extern bool oidsrand(int32 X);
+extern int32 userfntest(int i);
/* define macros to replace mixed-case function calls - tgl 97/04/27 */
#define NullValue(v,b) nullvalue(v,b)
#define NonNullValue(v,b) nonnullvalue(v,b)
/* not_in.c */
-extern bool int4notin(int16 not_in_arg, char *relation_and_attr);
-extern bool oidnotin(Oid the_oid, char *compare);
+extern bool int4notin(int16 not_in_arg, char *relation_and_attr);
+extern bool oidnotin(Oid the_oid, char *compare);
/* oid.c */
-extern Oid *oid8in(char *oidString);
-extern char *oid8out(Oid (*oidArray)[]);
-extern Oid oidin(char *s);
-extern char *oidout(Oid o);
-extern bool oideq(Oid arg1, Oid arg2);
-extern bool oidne(Oid arg1, Oid arg2);
-extern bool oid8eq(Oid arg1[], Oid arg2[]);
-extern bool oideqint4(Oid arg1, int32 arg2);
-extern bool int4eqoid(int32 arg1, Oid arg2);
+extern Oid *oid8in(char *oidString);
+extern char *oid8out(Oid(*oidArray)[]);
+extern Oid oidin(char *s);
+extern char *oidout(Oid o);
+extern bool oideq(Oid arg1, Oid arg2);
+extern bool oidne(Oid arg1, Oid arg2);
+extern bool oid8eq(Oid arg1[], Oid arg2[]);
+extern bool oideqint4(Oid arg1, int32 arg2);
+extern bool int4eqoid(int32 arg1, Oid arg2);
/* regexp.c */
-extern bool char2regexeq(uint16 arg1, struct varlena *p);
-extern bool char2regexne(uint16 arg1, struct varlena *p);
-extern bool char4regexeq(uint32 arg1, struct varlena *p);
-extern bool char4regexne(uint32 arg1, struct varlena *p);
-extern bool char8regexeq(char *s, struct varlena *p);
-extern bool char8regexne(char *s, struct varlena *p);
-extern bool char16regexeq(char *s, struct varlena *p);
-extern bool char16regexne(char *s, struct varlena *p);
-extern bool nameregexeq(NameData *n, struct varlena *p);
-extern bool nameregexne(NameData *s, struct varlena *p);
-extern bool textregexeq(struct varlena *s, struct varlena *p);
-extern bool textregexne(struct varlena *s, struct varlena *p);
-extern bool char2icregexeq(uint16 arg1, struct varlena *p);
-extern bool char2icregexne(uint16 arg1, struct varlena *p);
-extern bool char4icregexeq(uint32 arg1, struct varlena *p);
-extern bool char4icregexne(uint32 arg1, struct varlena *p);
-extern bool char8icregexeq(char *s, struct varlena *p);
-extern bool char8icregexne(char *s, struct varlena *p);
-extern bool char16icregexeq(char *s, struct varlena *p);
-extern bool char16icregexne(char *s, struct varlena *p);
-extern bool nameicregexeq(NameData *s, struct varlena *p);
-extern bool nameicregexne(NameData *s, struct varlena *p);
-extern bool texticregexeq(struct varlena *s, struct varlena *p);
-extern bool texticregexne(struct varlena *s, struct varlena *p);
+extern bool char2regexeq(uint16 arg1, struct varlena * p);
+extern bool char2regexne(uint16 arg1, struct varlena * p);
+extern bool char4regexeq(uint32 arg1, struct varlena * p);
+extern bool char4regexne(uint32 arg1, struct varlena * p);
+extern bool char8regexeq(char *s, struct varlena * p);
+extern bool char8regexne(char *s, struct varlena * p);
+extern bool char16regexeq(char *s, struct varlena * p);
+extern bool char16regexne(char *s, struct varlena * p);
+extern bool nameregexeq(NameData * n, struct varlena * p);
+extern bool nameregexne(NameData * s, struct varlena * p);
+extern bool textregexeq(struct varlena * s, struct varlena * p);
+extern bool textregexne(struct varlena * s, struct varlena * p);
+extern bool char2icregexeq(uint16 arg1, struct varlena * p);
+extern bool char2icregexne(uint16 arg1, struct varlena * p);
+extern bool char4icregexeq(uint32 arg1, struct varlena * p);
+extern bool char4icregexne(uint32 arg1, struct varlena * p);
+extern bool char8icregexeq(char *s, struct varlena * p);
+extern bool char8icregexne(char *s, struct varlena * p);
+extern bool char16icregexeq(char *s, struct varlena * p);
+extern bool char16icregexne(char *s, struct varlena * p);
+extern bool nameicregexeq(NameData * s, struct varlena * p);
+extern bool nameicregexne(NameData * s, struct varlena * p);
+extern bool texticregexeq(struct varlena * s, struct varlena * p);
+extern bool texticregexne(struct varlena * s, struct varlena * p);
/* regproc.c */
-extern int32 regprocin(char *proname);
-extern char *regprocout(RegProcedure proid);
-extern Oid regproctooid(RegProcedure rp);
+extern int32 regprocin(char *proname);
+extern char *regprocout(RegProcedure proid);
+extern Oid regproctooid(RegProcedure rp);
/* define macro to replace mixed-case function call - tgl 97/04/27 */
#define RegprocToOid(rp) regproctooid(rp)
/* selfuncs.c */
-extern float64 eqsel(Oid opid, Oid relid, AttrNumber attno, char *value, int32 flag);
-extern float64 neqsel(Oid opid, Oid relid, AttrNumber attno, char *value, int32 flag);
-extern float64 intltsel(Oid opid, Oid relid, AttrNumber attno, int32 value, int32 flag);
-extern float64 intgtsel(Oid opid, Oid relid, AttrNumber attno, int32 value, int32 flag);
-extern float64 eqjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
-extern float64 neqjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
-extern float64 intltjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
-extern float64 intgtjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
-extern float64 btreesel(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 btreenpage(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 hashsel(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 hashnpage(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 rtsel(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 rtnpage(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 gistsel(Oid operatorObjectId, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
-extern float64 gistnpage(Oid operatorObjectId, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 eqsel(Oid opid, Oid relid, AttrNumber attno, char *value, int32 flag);
+extern float64 neqsel(Oid opid, Oid relid, AttrNumber attno, char *value, int32 flag);
+extern float64 intltsel(Oid opid, Oid relid, AttrNumber attno, int32 value, int32 flag);
+extern float64 intgtsel(Oid opid, Oid relid, AttrNumber attno, int32 value, int32 flag);
+extern float64 eqjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
+extern float64 neqjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
+extern float64 intltjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
+extern float64 intgtjoinsel(Oid opid, Oid relid1, AttrNumber attno1, Oid relid2, AttrNumber attno2);
+extern float64 btreesel(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 btreenpage(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 hashsel(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 hashnpage(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 rtsel(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 rtnpage(Oid operatorOid, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 gistsel(Oid operatorObjectId, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
+extern float64 gistnpage(Oid operatorObjectId, Oid indrelid, AttrNumber attributeNumber, char *constValue, int32 constFlag, int32 nIndexKeys, Oid indexrelid);
/* tid.c */
extern ItemPointer tidin(char *str);
-extern char *tidout(ItemPointer itemPtr);
+extern char *tidout(ItemPointer itemPtr);
/* timestamp.c */
-extern time_t timestamp_in(const char *timestamp_str);
-extern char *timestamp_out(time_t timestamp);
-extern time_t now(void);
-bool timestampeq(time_t t1, time_t t2);
-bool timestampne(time_t t1, time_t t2);
-bool timestamplt(time_t t1, time_t t2);
-bool timestampgt(time_t t1, time_t t2);
-bool timestample(time_t t1, time_t t2);
-bool timestampge(time_t t1, time_t t2);
-DateTime *timestamp_datetime(time_t timestamp);
+extern time_t timestamp_in(const char *timestamp_str);
+extern char *timestamp_out(time_t timestamp);
+extern time_t now(void);
+bool timestampeq(time_t t1, time_t t2);
+bool timestampne(time_t t1, time_t t2);
+bool timestamplt(time_t t1, time_t t2);
+bool timestampgt(time_t t1, time_t t2);
+bool timestample(time_t t1, time_t t2);
+bool timestampge(time_t t1, time_t t2);
+DateTime *timestamp_datetime(time_t timestamp);
/* varchar.c */
-extern char *bpcharin(char *s, int dummy, int typlen);
-extern char *bpcharout(char *s);
-extern char *varcharin(char *s, int dummy, int typlen);
-extern char *varcharout(char *s);
-extern bool bpchareq(char *arg1, char *arg2);
-extern bool bpcharne(char *arg1, char *arg2);
-extern bool bpcharlt(char *arg1, char *arg2);
-extern bool bpcharle(char *arg1, char *arg2);
-extern bool bpchargt(char *arg1, char *arg2);
-extern bool bpcharge(char *arg1, char *arg2);
-extern int32 bpcharcmp(char *arg1, char *arg2);
-extern bool varchareq(char *arg1, char *arg2);
-extern bool varcharne(char *arg1, char *arg2);
-extern bool varcharlt(char *arg1, char *arg2);
-extern bool varcharle(char *arg1, char *arg2);
-extern bool varchargt(char *arg1, char *arg2);
-extern bool varcharge(char *arg1, char *arg2);
-extern int32 varcharcmp(char *arg1, char *arg2);
-extern uint32 hashbpchar(struct varlena *key);
-extern uint32 hashvarchar(struct varlena *key);
+extern char *bpcharin(char *s, int dummy, int typlen);
+extern char *bpcharout(char *s);
+extern char *varcharin(char *s, int dummy, int typlen);
+extern char *varcharout(char *s);
+extern bool bpchareq(char *arg1, char *arg2);
+extern bool bpcharne(char *arg1, char *arg2);
+extern bool bpcharlt(char *arg1, char *arg2);
+extern bool bpcharle(char *arg1, char *arg2);
+extern bool bpchargt(char *arg1, char *arg2);
+extern bool bpcharge(char *arg1, char *arg2);
+extern int32 bpcharcmp(char *arg1, char *arg2);
+extern bool varchareq(char *arg1, char *arg2);
+extern bool varcharne(char *arg1, char *arg2);
+extern bool varcharlt(char *arg1, char *arg2);
+extern bool varcharle(char *arg1, char *arg2);
+extern bool varchargt(char *arg1, char *arg2);
+extern bool varcharge(char *arg1, char *arg2);
+extern int32 varcharcmp(char *arg1, char *arg2);
+extern uint32 hashbpchar(struct varlena * key);
+extern uint32 hashvarchar(struct varlena * key);
/* varlena.c */
extern struct varlena *byteain(char *inputText);
-extern char *byteaout(struct varlena *vlena);
+extern char *byteaout(struct varlena * vlena);
extern struct varlena *textin(char *inputText);
-extern char *textout(struct varlena *vlena);
-extern text *textcat(text* t1, text* t2);
-extern bool texteq(struct varlena *arg1, struct varlena *arg2);
-extern bool textne(struct varlena *arg1, struct varlena *arg2);
-extern bool text_lt(struct varlena *arg1, struct varlena *arg2);
-extern bool text_le(struct varlena *arg1, struct varlena *arg2);
-extern bool text_gt(struct varlena *arg1, struct varlena *arg2);
-extern bool text_ge(struct varlena *arg1, struct varlena *arg2);
-extern int32 textpos(text* t1, text* t2);
-extern int32 byteaGetSize(struct varlena *v);
-extern int32 byteaGetByte(struct varlena *v, int32 n);
-extern int32 byteaGetBit(struct varlena *v, int32 n);
-extern struct varlena *byteaSetByte(struct varlena *v, int32 n, int32 newByte);
-extern struct varlena *byteaSetBit(struct varlena *v, int32 n, int32 newBit);
+extern char *textout(struct varlena * vlena);
+extern text *textcat(text * t1, text * t2);
+extern bool texteq(struct varlena * arg1, struct varlena * arg2);
+extern bool textne(struct varlena * arg1, struct varlena * arg2);
+extern bool text_lt(struct varlena * arg1, struct varlena * arg2);
+extern bool text_le(struct varlena * arg1, struct varlena * arg2);
+extern bool text_gt(struct varlena * arg1, struct varlena * arg2);
+extern bool text_ge(struct varlena * arg1, struct varlena * arg2);
+extern int32 textpos(text * t1, text * t2);
+extern int32 byteaGetSize(struct varlena * v);
+extern int32 byteaGetByte(struct varlena * v, int32 n);
+extern int32 byteaGetBit(struct varlena * v, int32 n);
+extern struct varlena *byteaSetByte(struct varlena * v, int32 n, int32 newByte);
+extern struct varlena *byteaSetBit(struct varlena * v, int32 n, int32 newBit);
/* datetime.c */
-extern DateADT date_in(char *datestr);
-extern char *date_out(DateADT dateVal);
-extern bool date_eq(DateADT dateVal1, DateADT dateVal2);
-extern bool date_ne(DateADT dateVal1, DateADT dateVal2);
-extern bool date_lt(DateADT dateVal1, DateADT dateVal2);
-extern bool date_le(DateADT dateVal1, DateADT dateVal2);
-extern bool date_gt(DateADT dateVal1, DateADT dateVal2);
-extern bool date_ge(DateADT dateVal1, DateADT dateVal2);
-extern int date_cmp(DateADT dateVal1, DateADT dateVal2);
-extern DateADT date_larger(DateADT dateVal1, DateADT dateVal2);
-extern DateADT date_smaller(DateADT dateVal1, DateADT dateVal2);
-extern int32 date_mi(DateADT dateVal1, DateADT dateVal2);
-extern DateADT date_pli(DateADT dateVal, int32 days);
-extern DateADT date_mii(DateADT dateVal, int32 days);
+extern DateADT date_in(char *datestr);
+extern char *date_out(DateADT dateVal);
+extern bool date_eq(DateADT dateVal1, DateADT dateVal2);
+extern bool date_ne(DateADT dateVal1, DateADT dateVal2);
+extern bool date_lt(DateADT dateVal1, DateADT dateVal2);
+extern bool date_le(DateADT dateVal1, DateADT dateVal2);
+extern bool date_gt(DateADT dateVal1, DateADT dateVal2);
+extern bool date_ge(DateADT dateVal1, DateADT dateVal2);
+extern int date_cmp(DateADT dateVal1, DateADT dateVal2);
+extern DateADT date_larger(DateADT dateVal1, DateADT dateVal2);
+extern DateADT date_smaller(DateADT dateVal1, DateADT dateVal2);
+extern int32 date_mi(DateADT dateVal1, DateADT dateVal2);
+extern DateADT date_pli(DateADT dateVal, int32 days);
+extern DateADT date_mii(DateADT dateVal, int32 days);
extern DateTime *date_datetime(DateADT date);
-extern DateADT datetime_date(DateTime *datetime);
-extern DateTime *datetime_datetime(DateADT date, TimeADT *time);
-extern DateADT abstime_date(AbsoluteTime abstime);
+extern DateADT datetime_date(DateTime * datetime);
+extern DateTime *datetime_datetime(DateADT date, TimeADT * time);
+extern DateADT abstime_date(AbsoluteTime abstime);
extern TimeADT *time_in(char *timestr);
-extern char *time_out(TimeADT *time);
-extern bool time_eq(TimeADT *time1, TimeADT *time2);
-extern bool time_ne(TimeADT *time1, TimeADT *time2);
-extern bool time_lt(TimeADT *time1, TimeADT *time2);
-extern bool time_le(TimeADT *time1, TimeADT *time2);
-extern bool time_gt(TimeADT *time1, TimeADT *time2);
-extern bool time_ge(TimeADT *time1, TimeADT *time2);
-extern int time_cmp(TimeADT *time1, TimeADT *time2);
-extern int32 int42reltime(int32 timevalue);
+extern char *time_out(TimeADT * time);
+extern bool time_eq(TimeADT * time1, TimeADT * time2);
+extern bool time_ne(TimeADT * time1, TimeADT * time2);
+extern bool time_lt(TimeADT * time1, TimeADT * time2);
+extern bool time_le(TimeADT * time1, TimeADT * time2);
+extern bool time_gt(TimeADT * time1, TimeADT * time2);
+extern bool time_ge(TimeADT * time1, TimeADT * time2);
+extern int time_cmp(TimeADT * time1, TimeADT * time2);
+extern int32 int42reltime(int32 timevalue);
/* like.c */
-extern bool char2like(uint16 arg1, struct varlena *p);
-extern bool char2nlike(uint16 arg1, struct varlena *p);
-extern bool char4like(uint32 arg1, struct varlena *p);
-extern bool char4nlike(uint32 arg1, struct varlena *p);
-extern bool char8like(char *s, struct varlena *p);
-extern bool char8nlike(char *s, struct varlena *p);
-extern bool char16like(char *s, struct varlena *p);
-extern bool char16nlike(char *s, struct varlena *p);
-extern bool namelike(NameData *n, struct varlena *p);
-extern bool namenlike(NameData *s, struct varlena *p);
-extern bool textlike(struct varlena *s, struct varlena *p);
-extern bool textnlike(struct varlena *s, struct varlena *p);
+extern bool char2like(uint16 arg1, struct varlena * p);
+extern bool char2nlike(uint16 arg1, struct varlena * p);
+extern bool char4like(uint32 arg1, struct varlena * p);
+extern bool char4nlike(uint32 arg1, struct varlena * p);
+extern bool char8like(char *s, struct varlena * p);
+extern bool char8nlike(char *s, struct varlena * p);
+extern bool char16like(char *s, struct varlena * p);
+extern bool char16nlike(char *s, struct varlena * p);
+extern bool namelike(NameData * n, struct varlena * p);
+extern bool namenlike(NameData * s, struct varlena * p);
+extern bool textlike(struct varlena * s, struct varlena * p);
+extern bool textnlike(struct varlena * s, struct varlena * p);
/* oracle_compat.c */
-extern text *lower(text *string);
-extern text *upper(text *string);
-extern text *initcap(text *string);
-extern text *lpad(text *string1, int4 len, text *string2);
-extern text *rpad(text *string1, int4 len, text *string2);
-extern text *ltrim(text *string, text *set);
-extern text *rtrim(text *string, text *set);
-extern text *substr(text *string, int4 m, int4 n);
-extern text *translate(text *string, char from, char to);
+extern text *lower(text * string);
+extern text *upper(text * string);
+extern text *initcap(text * string);
+extern text *lpad(text * string1, int4 len, text * string2);
+extern text *rpad(text * string1, int4 len, text * string2);
+extern text *ltrim(text * string, text * set);
+extern text *rtrim(text * string, text * set);
+extern text *substr(text * string, int4 m, int4 n);
+extern text *translate(text * string, char from, char to);
/* acl.c */
-#endif /* BUILTINS_H */
+#endif /* BUILTINS_H */
diff --git a/src/include/utils/cash.h b/src/include/utils/cash.h
index 9307654315a..2e5f82c093b 100644
--- a/src/include/utils/cash.h
+++ b/src/include/utils/cash.h
@@ -3,7 +3,7 @@
* Written by D'Arcy J.M. Cain
*
* Functions to allow input and output of money normally but store
- * and handle it as int4.
+ * and handle it as int4.
*/
#ifndef CASH_H
@@ -12,24 +12,24 @@
/* if we store this as 4 bytes, we better make it int, not long, bjm */
typedef signed int Cash;
-extern const char *cash_out(Cash *value);
-extern Cash *cash_in(const char *str);
+extern const char *cash_out(Cash * value);
+extern Cash *cash_in(const char *str);
-extern bool cash_eq(Cash *c1, Cash *c2);
-extern bool cash_ne(Cash *c1, Cash *c2);
-extern bool cash_lt(Cash *c1, Cash *c2);
-extern bool cash_le(Cash *c1, Cash *c2);
-extern bool cash_gt(Cash *c1, Cash *c2);
-extern bool cash_ge(Cash *c1, Cash *c2);
+extern bool cash_eq(Cash * c1, Cash * c2);
+extern bool cash_ne(Cash * c1, Cash * c2);
+extern bool cash_lt(Cash * c1, Cash * c2);
+extern bool cash_le(Cash * c1, Cash * c2);
+extern bool cash_gt(Cash * c1, Cash * c2);
+extern bool cash_ge(Cash * c1, Cash * c2);
-extern Cash *cash_pl(Cash *c1, Cash *c2);
-extern Cash *cash_mi(Cash *c1, Cash *c2);
-extern Cash *cash_mul(Cash *c, float8 *f);
-extern Cash *cash_div(Cash *c, float8 *f);
+extern Cash *cash_pl(Cash * c1, Cash * c2);
+extern Cash *cash_mi(Cash * c1, Cash * c2);
+extern Cash *cash_mul(Cash * c, float8 * f);
+extern Cash *cash_div(Cash * c, float8 * f);
-extern Cash *cashlarger(Cash *c1, Cash *c2);
-extern Cash *cashsmaller(Cash *c1, Cash *c2);
+extern Cash *cashlarger(Cash * c1, Cash * c2);
+extern Cash *cashsmaller(Cash * c1, Cash * c2);
-extern const char *cash_words_out(Cash *value);
+extern const char *cash_words_out(Cash * value);
-#endif /* CASH_H */
+#endif /* CASH_H */
diff --git a/src/include/utils/catcache.h b/src/include/utils/catcache.h
index 70a40c3e0a5..6b33ef89b11 100644
--- a/src/include/utils/catcache.h
+++ b/src/include/utils/catcache.h
@@ -1,19 +1,19 @@
/*-------------------------------------------------------------------------
*
* catcache.h--
- * Low-level catalog cache definitions.
+ * Low-level catalog cache definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: catcache.h,v 1.5 1997/08/19 21:40:28 momjian Exp $
+ * $Id: catcache.h,v 1.6 1997/09/07 05:02:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef CATCACHE_H
+#ifndef CATCACHE_H
#define CATCACHE_H
-/* #define CACHEDEBUG turns DEBUG elogs on */
+/* #define CACHEDEBUG turns DEBUG elogs on */
#include <access/htup.h>
#include <lib/dllist.h>
@@ -21,54 +21,60 @@
#include <utils/rel.h>
/*
- * struct catctup: tuples in the cache.
- * struct catcache: information for managing a cache.
+ * struct catctup: tuples in the cache.
+ * struct catcache: information for managing a cache.
*/
-typedef struct catctup {
- HeapTuple ct_tup; /* A pointer to a tuple */
- Dlelem *ct_node; /* points to LRU list is the CatCTup is in the cache,
- else, points to the cache if the CatCTup is in
- LRU list */
-} CatCTup;
+typedef struct catctup
+{
+ HeapTuple ct_tup; /* A pointer to a tuple */
+ Dlelem *ct_node; /* points to LRU list is the CatCTup is in
+ * the cache, else, points to the cache if
+ * the CatCTup is in LRU list */
+} CatCTup;
/* voodoo constants */
-#define NCCBUCK 500 /* CatCache buckets*/
-#define MAXTUP 300 /* Maximum # of tuples cached per cache */
+#define NCCBUCK 500 /* CatCache buckets */
+#define MAXTUP 300 /* Maximum # of tuples cached per cache */
-typedef struct catcache {
- Oid relationId;
- Oid indexId;
- char *cc_relname; /* relation name for defered open */
- char *cc_indname; /* index name for defered open */
- HeapTuple (*cc_iscanfunc)(); /* index scanfunction */
- TupleDesc cc_tupdesc; /* tuple descriptor from reldesc */
- int id; /* XXX could be improved -hirohama */
- short cc_ntup; /* # of tuples in this cache */
- short cc_maxtup; /* max # of tuples allowed (LRU)*/
- short cc_nkeys;
- short cc_size;
- short cc_key[4];
- short cc_klen[4];
- ScanKeyData cc_skey[4];
- struct catcache *cc_next;
- Dllist *cc_lrulist; /* LRU list, most recent first */
- Dllist *cc_cache[NCCBUCK+1];
-} CatCache;
+typedef struct catcache
+{
+ Oid relationId;
+ Oid indexId;
+ char *cc_relname; /* relation name for defered open */
+ char *cc_indname; /* index name for defered open */
+ HeapTuple(*cc_iscanfunc) (); /* index scanfunction */
+ TupleDesc cc_tupdesc; /* tuple descriptor from reldesc */
+ int id; /* XXX could be improved -hirohama */
+ short cc_ntup; /* # of tuples in this cache */
+ short cc_maxtup; /* max # of tuples allowed (LRU) */
+ short cc_nkeys;
+ short cc_size;
+ short cc_key[4];
+ short cc_klen[4];
+ ScanKeyData cc_skey[4];
+ struct catcache *cc_next;
+ Dllist *cc_lrulist; /* LRU list, most recent first */
+ Dllist *cc_cache[NCCBUCK + 1];
+} CatCache;
-#define InvalidCatalogCacheId (-1)
+#define InvalidCatalogCacheId (-1)
-extern struct catcache *Caches;
-extern GlobalMemory CacheCxt;
+extern struct catcache *Caches;
+extern GlobalMemory CacheCxt;
-extern void CatalogCacheIdInvalidate(int cacheId, Index hashIndex,
- ItemPointer pointer);
-extern void ResetSystemCache(void);
-extern CatCache *InitSysCache(char *relname, char *indname, int id, int nkeys,
- int key[], HeapTuple (*iScanfuncP)());
-extern HeapTuple SearchSysCache(struct catcache *cache, Datum v1, Datum v2,
- Datum v3, Datum v4);
-extern void RelationInvalidateCatalogCacheTuple(Relation relation,
- HeapTuple tuple, void (*function)());
+extern void
+CatalogCacheIdInvalidate(int cacheId, Index hashIndex,
+ ItemPointer pointer);
+extern void ResetSystemCache(void);
+extern CatCache *
+InitSysCache(char *relname, char *indname, int id, int nkeys,
+ int key[], HeapTuple(*iScanfuncP) ());
+extern HeapTuple
+SearchSysCache(struct catcache * cache, Datum v1, Datum v2,
+ Datum v3, Datum v4);
+extern void
+RelationInvalidateCatalogCacheTuple(Relation relation,
+ HeapTuple tuple, void (*function) ());
-#endif /* CATCACHE_H */
+#endif /* CATCACHE_H */
diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h
index fd9546362f3..79e6fb7ff57 100644
--- a/src/include/utils/datetime.h
+++ b/src/include/utils/datetime.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* datetime.h--
- * Definitions for the datetime
+ * Definitions for the datetime
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: datetime.h,v 1.3 1997/06/23 15:03:41 thomas Exp $
+ * $Id: datetime.h,v 1.4 1997/09/07 05:02:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -19,4 +19,4 @@ typedef int32 DateADT;
typedef float8 TimeADT;
-#endif /* DATETIME_H */
+#endif /* DATETIME_H */
diff --git a/src/include/utils/datum.h b/src/include/utils/datum.h
index 009141e9cba..5409c8ddfe3 100644
--- a/src/include/utils/datum.h
+++ b/src/include/utils/datum.h
@@ -1,17 +1,17 @@
/*-------------------------------------------------------------------------
*
* datum.h--
- * POSTGRES abstract data type datum representation definitions.
+ * POSTGRES abstract data type datum representation definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: datum.h,v 1.2 1996/10/31 09:51:11 scrappy Exp $
+ * $Id: datum.h,v 1.3 1997/09/07 05:02:17 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef DATUM_H
-#define DATUM_H
+#ifndef DATUM_H
+#define DATUM_H
/*--------------------------------------------------------
@@ -38,26 +38,27 @@
* datumGetSize
* find the "real" length of a datum
*/
-extern Size datumGetSize(Datum value, Oid type, bool byVal, Size len);
+extern Size datumGetSize(Datum value, Oid type, bool byVal, Size len);
/*---------------
* datumCopy
* make a copy of a datum.
*/
-extern Datum datumCopy(Datum value, Oid type, bool byVal, Size len);
+extern Datum datumCopy(Datum value, Oid type, bool byVal, Size len);
/*---------------
* datumFree
* free space that *might* have been palloced by "datumCopy"
*/
-extern void datumFree(Datum value, Oid type, bool byVal, Size len);
+extern void datumFree(Datum value, Oid type, bool byVal, Size len);
/*---------------
* datumIsEqual
* return true if thwo datums are equal, false otherwise.
* XXX : See comments in the code for restrictions!
*/
-extern bool datumIsEqual(Datum value1, Datum value2, Oid type,
+extern bool
+datumIsEqual(Datum value1, Datum value2, Oid type,
bool byVal, Size len);
-#endif /* DATUM_H */
+#endif /* DATUM_H */
diff --git a/src/include/utils/dt.h b/src/include/utils/dt.h
index 2065e62d05f..b30e3a18627 100644
--- a/src/include/utils/dt.h
+++ b/src/include/utils/dt.h
@@ -1,14 +1,14 @@
/*-------------------------------------------------------------------------
*
* dt.h--
- * Definitions for the date/time and other date/time support code.
- * The support code is shared with other date data types,
- * including abstime, reltime, date, and time.
+ * Definitions for the date/time and other date/time support code.
+ * The support code is shared with other date data types,
+ * including abstime, reltime, date, and time.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: dt.h,v 1.18 1997/09/04 18:44:29 thomas Exp $
+ * $Id: dt.h,v 1.19 1997/09/07 05:02:19 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -21,23 +21,26 @@
/*
* DateTime represents absolute time.
* TimeSpan represents delta time. Keep track of months (and years)
- * separately since the elapsed time spanned is unknown until instantiated
- * relative to an absolute time.
+ * separately since the elapsed time spanned is unknown until instantiated
+ * relative to an absolute time.
*
* Note that Postgres uses "time interval" to mean a bounded interval,
- * consisting of a beginning and ending time, not a time span - tgl 97/03/20
+ * consisting of a beginning and ending time, not a time span - tgl 97/03/20
*/
-typedef double DateTime;
+typedef double DateTime;
-typedef struct {
- double time; /* all time units other than months and years */
- int4 month; /* months and years, after time for alignment */
-} TimeSpan;
+typedef struct
+{
+ double time; /* all time units other than months and
+ * years */
+ int4 month; /* months and years, after time for
+ * alignment */
+} TimeSpan;
/* ----------------------------------------------------------------
- * time types + support macros
+ * time types + support macros
*
* String definitions for standard time quantities.
*
@@ -46,196 +49,202 @@ typedef struct {
* ----------------------------------------------------------------
*/
-#define DAGO "ago"
-#define DCURRENT "current"
-#define EPOCH "epoch"
-#define INVALID "invalid"
-#define EARLY "-infinity"
-#define LATE "infinity"
-#define NOW "now"
-#define TODAY "today"
-#define TOMORROW "tomorrow"
-#define YESTERDAY "yesterday"
-#define ZULU "zulu"
-
-#define DMICROSEC "usecond"
-#define DMILLISEC "msecond"
-#define DSECOND "second"
-#define DMINUTE "minute"
-#define DHOUR "hour"
-#define DDAY "day"
-#define DWEEK "week"
-#define DMONTH "month"
-#define DQUARTER "quarter"
-#define DYEAR "year"
-#define DDECADE "decade"
-#define DCENTURY "century"
-#define DMILLENIUM "millenium"
-#define DA_D "ad"
-#define DB_C "bc"
-#define DTIMEZONE "timezone"
+#define DAGO "ago"
+#define DCURRENT "current"
+#define EPOCH "epoch"
+#define INVALID "invalid"
+#define EARLY "-infinity"
+#define LATE "infinity"
+#define NOW "now"
+#define TODAY "today"
+#define TOMORROW "tomorrow"
+#define YESTERDAY "yesterday"
+#define ZULU "zulu"
+
+#define DMICROSEC "usecond"
+#define DMILLISEC "msecond"
+#define DSECOND "second"
+#define DMINUTE "minute"
+#define DHOUR "hour"
+#define DDAY "day"
+#define DWEEK "week"
+#define DMONTH "month"
+#define DQUARTER "quarter"
+#define DYEAR "year"
+#define DDECADE "decade"
+#define DCENTURY "century"
+#define DMILLENIUM "millenium"
+#define DA_D "ad"
+#define DB_C "bc"
+#define DTIMEZONE "timezone"
/*
* Fundamental time field definitions for parsing.
*
- * Meridian: am, pm, or 24-hour style.
- * Millenium: ad, bc
+ * Meridian: am, pm, or 24-hour style.
+ * Millenium: ad, bc
*/
-#define AM 0
-#define PM 1
+#define AM 0
+#define PM 1
#define HR24 2
-#define AD 0
-#define BC 1
+#define AD 0
+#define BC 1
/*
* Fields for time decoding.
* Can't have more of these than there are bits in an unsigned int
- * since these are turned into bit masks during parsing and decoding.
+ * since these are turned into bit masks during parsing and decoding.
*/
#define RESERV 0
#define MONTH 1
#define YEAR 2
-#define DAY 3
-#define TIMES 4 /* not used - thomas 1997-07-14 */
-#define TZ 5
-#define DTZ 6
+#define DAY 3
+#define TIMES 4 /* not used - thomas 1997-07-14 */
+#define TZ 5
+#define DTZ 6
#define DTZMOD 7
#define IGNORE 8
#define AMPM 9
#define HOUR 10
#define MINUTE 11
#define SECOND 12
-#define DOY 13
-#define DOW 14
+#define DOY 13
+#define DOW 14
#define UNITS 15
#define ADBC 16
/* these are only for relative dates */
-#define AGO 17
-#define ABS_BEFORE 18
-#define ABS_AFTER 19
+#define AGO 17
+#define ABS_BEFORE 18
+#define ABS_AFTER 19
/*
* Token field definitions for time parsing and decoding.
* These need to fit into the datetkn table type.
* At the moment, that means keep them within [-127,127].
* These are also used for bit masks in DecodeDateDelta()
- * so actually restrict them to within [0,31] for now.
+ * so actually restrict them to within [0,31] for now.
* - tgl 97/06/19
*/
-#define DTK_NUMBER 0
-#define DTK_STRING 1
-
-#define DTK_DATE 2
-#define DTK_TIME 3
-#define DTK_TZ 4
-#define DTK_AGO 5
-
-#define DTK_SPECIAL 6
-#define DTK_INVALID 7
-#define DTK_CURRENT 8
-#define DTK_EARLY 9
-#define DTK_LATE 10
-#define DTK_EPOCH 11
-#define DTK_NOW 12
+#define DTK_NUMBER 0
+#define DTK_STRING 1
+
+#define DTK_DATE 2
+#define DTK_TIME 3
+#define DTK_TZ 4
+#define DTK_AGO 5
+
+#define DTK_SPECIAL 6
+#define DTK_INVALID 7
+#define DTK_CURRENT 8
+#define DTK_EARLY 9
+#define DTK_LATE 10
+#define DTK_EPOCH 11
+#define DTK_NOW 12
#define DTK_YESTERDAY 13
-#define DTK_TODAY 14
+#define DTK_TODAY 14
#define DTK_TOMORROW 15
-#define DTK_ZULU 16
-
-#define DTK_DELTA 17
-#define DTK_SECOND 18
-#define DTK_MINUTE 19
-#define DTK_HOUR 20
-#define DTK_DAY 21
-#define DTK_WEEK 22
-#define DTK_MONTH 23
-#define DTK_QUARTER 24
-#define DTK_YEAR 25
-#define DTK_DECADE 26
-#define DTK_CENTURY 27
+#define DTK_ZULU 16
+
+#define DTK_DELTA 17
+#define DTK_SECOND 18
+#define DTK_MINUTE 19
+#define DTK_HOUR 20
+#define DTK_DAY 21
+#define DTK_WEEK 22
+#define DTK_MONTH 23
+#define DTK_QUARTER 24
+#define DTK_YEAR 25
+#define DTK_DECADE 26
+#define DTK_CENTURY 27
#define DTK_MILLENIUM 28
#define DTK_MILLISEC 29
#define DTK_MICROSEC 30
-#define DTK_DOW 31
+#define DTK_DOW 31
/*
* Bit mask definitions for time parsing.
*/
-#define DTK_M(t) (0x01 << (t))
+#define DTK_M(t) (0x01 << (t))
-#define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY))
-#define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_M(SECOND))
+#define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY))
+#define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_M(SECOND))
-#define MAXDATELEN 47 /* maximum possible length of an input date string */
-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date string */
-#define TOKMAXLEN 10 /* only this many chars are stored in datetktbl */
+#define MAXDATELEN 47 /* maximum possible length of an input
+ * date string */
+#define MAXDATEFIELDS 25 /* maximum possible number of fields in a
+ * date string */
+#define TOKMAXLEN 10 /* only this many chars are stored in
+ * datetktbl */
/* keep this struct small; it gets used a lot */
-typedef struct {
+typedef struct
+{
#if defined(aix)
- char *token;
+ char *token;
#else
- char token[TOKMAXLEN];
-#endif /* aix */
- char type;
- char value; /* this may be unsigned, alas */
-} datetkn;
+ char token[TOKMAXLEN];
+#endif /* aix */
+ char type;
+ char value; /* this may be unsigned, alas */
+} datetkn;
#ifdef NAN
-#define DT_INVALID (NAN)
+#define DT_INVALID (NAN)
#else
-#define DT_INVALID (DBL_MIN+DBL_MIN)
+#define DT_INVALID (DBL_MIN+DBL_MIN)
#endif
#ifdef HUGE_VAL
-#define DT_NOBEGIN (-HUGE_VAL)
-#define DT_NOEND (HUGE_VAL)
+#define DT_NOBEGIN (-HUGE_VAL)
+#define DT_NOEND (HUGE_VAL)
#else
-#define DT_NOBEGIN (-DBL_MAX)
-#define DT_NOEND (DBL_MAX)
+#define DT_NOBEGIN (-DBL_MAX)
+#define DT_NOEND (DBL_MAX)
#endif
-#define DT_CURRENT (DBL_MIN)
-#define DT_EPOCH (-DBL_MIN)
+#define DT_CURRENT (DBL_MIN)
+#define DT_EPOCH (-DBL_MIN)
-#define DATETIME_INVALID(j) {j = DT_INVALID;}
+#define DATETIME_INVALID(j) {j = DT_INVALID;}
#ifdef NAN
#define DATETIME_IS_INVALID(j) (isnan(j))
#else
#define DATETIME_IS_INVALID(j) (j == DT_INVALID)
#endif
-#define DATETIME_NOBEGIN(j) {j = DT_NOBEGIN;}
+#define DATETIME_NOBEGIN(j) {j = DT_NOBEGIN;}
#define DATETIME_IS_NOBEGIN(j) (j == DT_NOBEGIN)
-#define DATETIME_NOEND(j) {j = DT_NOEND;}
+#define DATETIME_NOEND(j) {j = DT_NOEND;}
#define DATETIME_IS_NOEND(j) (j == DT_NOEND)
-#define DATETIME_CURRENT(j) {j = DT_CURRENT;}
+#define DATETIME_CURRENT(j) {j = DT_CURRENT;}
#if defined(linux) && defined(PPC)
-extern int datetime_is_current(double j);
+extern int datetime_is_current(double j);
+
#define DATETIME_IS_CURRENT(j) datetime_is_current(j)
#else
#define DATETIME_IS_CURRENT(j) (j == DT_CURRENT)
#endif
-#define DATETIME_EPOCH(j) {j = DT_EPOCH;}
+#define DATETIME_EPOCH(j) {j = DT_EPOCH;}
#if defined(linux) && defined(PPC)
-extern int datetime_is_epoch(double j);
+extern int datetime_is_epoch(double j);
+
#define DATETIME_IS_EPOCH(j) datetime_is_epoch(j)
#else
#define DATETIME_IS_EPOCH(j) (j == DT_EPOCH)
#endif
-#define DATETIME_IS_RELATIVE(j) (DATETIME_IS_CURRENT(j) || DATETIME_IS_EPOCH(j))
+#define DATETIME_IS_RELATIVE(j) (DATETIME_IS_CURRENT(j) || DATETIME_IS_EPOCH(j))
#define DATETIME_NOT_FINITE(j) (DATETIME_IS_INVALID(j) \
- || DATETIME_IS_NOBEGIN(j) || DATETIME_IS_NOEND(j))
+ || DATETIME_IS_NOBEGIN(j) || DATETIME_IS_NOEND(j))
#define DATETIME_IS_RESERVED(j) (DATETIME_IS_RELATIVE(j) || DATETIME_NOT_FINITE(j))
-#define TIMESPAN_INVALID(j) {(j).time = DT_INVALID;}
+#define TIMESPAN_INVALID(j) {(j).time = DT_INVALID;}
#ifdef NAN
#define TIMESPAN_IS_INVALID(j) (isnan((j).time))
#else
@@ -247,76 +256,80 @@ extern int datetime_is_epoch(double j);
#define JROUND(j) (rint(((double) (j))/TIME_PREC)*TIME_PREC)
/*
- * dt.c prototypes
+ * dt.c prototypes
*/
-extern DateTime *datetime_in( char *str);
-extern char *datetime_out( DateTime *dt);
-extern bool datetime_eq(DateTime *dt1, DateTime *dt2);
-extern bool datetime_ne(DateTime *dt1, DateTime *dt2);
-extern bool datetime_lt(DateTime *dt1, DateTime *dt2);
-extern bool datetime_le(DateTime *dt1, DateTime *dt2);
-extern bool datetime_ge(DateTime *dt1, DateTime *dt2);
-extern bool datetime_gt(DateTime *dt1, DateTime *dt2);
-extern bool datetime_finite(DateTime *datetime);
-extern int datetime_cmp(DateTime *dt1, DateTime *dt2);
-extern DateTime *datetime_smaller(DateTime *dt1, DateTime *dt2);
-extern DateTime *datetime_larger(DateTime *dt1, DateTime *dt2);
+extern DateTime *datetime_in(char *str);
+extern char *datetime_out(DateTime * dt);
+extern bool datetime_eq(DateTime * dt1, DateTime * dt2);
+extern bool datetime_ne(DateTime * dt1, DateTime * dt2);
+extern bool datetime_lt(DateTime * dt1, DateTime * dt2);
+extern bool datetime_le(DateTime * dt1, DateTime * dt2);
+extern bool datetime_ge(DateTime * dt1, DateTime * dt2);
+extern bool datetime_gt(DateTime * dt1, DateTime * dt2);
+extern bool datetime_finite(DateTime * datetime);
+extern int datetime_cmp(DateTime * dt1, DateTime * dt2);
+extern DateTime *datetime_smaller(DateTime * dt1, DateTime * dt2);
+extern DateTime *datetime_larger(DateTime * dt1, DateTime * dt2);
extern TimeSpan *timespan_in(char *str);
-extern char *timespan_out(TimeSpan *span);
-extern bool timespan_eq(TimeSpan *span1, TimeSpan *span2);
-extern bool timespan_ne(TimeSpan *span1, TimeSpan *span2);
-extern bool timespan_lt(TimeSpan *span1, TimeSpan *span2);
-extern bool timespan_le(TimeSpan *span1, TimeSpan *span2);
-extern bool timespan_ge(TimeSpan *span1, TimeSpan *span2);
-extern bool timespan_gt(TimeSpan *span1, TimeSpan *span2);
-extern int timespan_cmp(TimeSpan *span1, TimeSpan *span2);
-extern TimeSpan *timespan_smaller(TimeSpan *span1, TimeSpan *span2);
-extern TimeSpan *timespan_larger(TimeSpan *span1, TimeSpan *span2);
-
-extern text *datetime_text(DateTime *datetime);
-extern DateTime *text_datetime(text *str);
-extern text *timespan_text(TimeSpan *timespan);
-extern DateTime *datetime_trunc(text *units, DateTime *datetime);
-extern TimeSpan *timespan_trunc(text *units, TimeSpan *timespan);
-extern float64 datetime_part(text *units, DateTime *datetime);
-extern float64 timespan_part(text *units, TimeSpan *timespan);
-extern text *datetime_zone(text *zone, DateTime *datetime);
-
-extern TimeSpan *timespan_um(TimeSpan *span);
-extern TimeSpan *timespan_pl(TimeSpan *span1, TimeSpan *span2);
-extern TimeSpan *timespan_mi(TimeSpan *span1, TimeSpan *span2);
-extern TimeSpan *timespan_div(TimeSpan *span1, float8 *arg2);
-
-extern TimeSpan *datetime_mi(DateTime *dt1, DateTime *dt2);
-extern DateTime *datetime_pl_span(DateTime *dt, TimeSpan *span);
-extern DateTime *datetime_mi_span(DateTime *dt, TimeSpan *span);
-extern TimeSpan *datetime_age(DateTime *dt1, DateTime *dt2);
-
-extern void GetCurrentTime(struct tm *tm);
+extern char *timespan_out(TimeSpan * span);
+extern bool timespan_eq(TimeSpan * span1, TimeSpan * span2);
+extern bool timespan_ne(TimeSpan * span1, TimeSpan * span2);
+extern bool timespan_lt(TimeSpan * span1, TimeSpan * span2);
+extern bool timespan_le(TimeSpan * span1, TimeSpan * span2);
+extern bool timespan_ge(TimeSpan * span1, TimeSpan * span2);
+extern bool timespan_gt(TimeSpan * span1, TimeSpan * span2);
+extern int timespan_cmp(TimeSpan * span1, TimeSpan * span2);
+extern TimeSpan *timespan_smaller(TimeSpan * span1, TimeSpan * span2);
+extern TimeSpan *timespan_larger(TimeSpan * span1, TimeSpan * span2);
+
+extern text *datetime_text(DateTime * datetime);
+extern DateTime *text_datetime(text * str);
+extern text *timespan_text(TimeSpan * timespan);
+extern DateTime *datetime_trunc(text * units, DateTime * datetime);
+extern TimeSpan *timespan_trunc(text * units, TimeSpan * timespan);
+extern float64 datetime_part(text * units, DateTime * datetime);
+extern float64 timespan_part(text * units, TimeSpan * timespan);
+extern text *datetime_zone(text * zone, DateTime * datetime);
+
+extern TimeSpan *timespan_um(TimeSpan * span);
+extern TimeSpan *timespan_pl(TimeSpan * span1, TimeSpan * span2);
+extern TimeSpan *timespan_mi(TimeSpan * span1, TimeSpan * span2);
+extern TimeSpan *timespan_div(TimeSpan * span1, float8 * arg2);
+
+extern TimeSpan *datetime_mi(DateTime * dt1, DateTime * dt2);
+extern DateTime *datetime_pl_span(DateTime * dt, TimeSpan * span);
+extern DateTime *datetime_mi_span(DateTime * dt, TimeSpan * span);
+extern TimeSpan *datetime_age(DateTime * dt1, DateTime * dt2);
+
+extern void GetCurrentTime(struct tm * tm);
extern DateTime SetDateTime(DateTime datetime);
-extern int tm2datetime(struct tm *tm, double fsec, int *tzp, DateTime *dt);
+extern int tm2datetime(struct tm * tm, double fsec, int *tzp, DateTime * dt);
-extern void j2date( int jd, int *year, int *month, int *day);
-extern int date2j( int year, int month, int day);
+extern void j2date(int jd, int *year, int *month, int *day);
+extern int date2j(int year, int month, int day);
-extern double time2t(const int hour, const int min, const double sec);
+extern double time2t(const int hour, const int min, const double sec);
-extern int ParseDateTime( char *timestr, char *lowstr,
- char *field[], int ftype[], int maxfields, int *numfields);
-extern int DecodeDateTime( char *field[], int ftype[],
- int nf, int *dtype, struct tm *tm, double *fsec, int *tzp);
+extern int
+ParseDateTime(char *timestr, char *lowstr,
+ char *field[], int ftype[], int maxfields, int *numfields);
+extern int
+DecodeDateTime(char *field[], int ftype[],
+ int nf, int *dtype, struct tm * tm, double *fsec, int *tzp);
-extern int DecodeTimeOnly( char *field[], int ftype[], int nf,
- int *dtype, struct tm *tm, double *fsec);
+extern int
+DecodeTimeOnly(char *field[], int ftype[], int nf,
+ int *dtype, struct tm * tm, double *fsec);
-extern int DecodeDateDelta( char *field[], int ftype[],
- int nf, int *dtype, struct tm *tm, double *fsec);
+extern int
+DecodeDateDelta(char *field[], int ftype[],
+ int nf, int *dtype, struct tm * tm, double *fsec);
-extern int EncodeDateOnly(struct tm *tm, int style, char *str);
-extern int EncodeTimeOnly(struct tm *tm, double fsec, int style, char *str);
-extern int EncodeDateTime(struct tm *tm, double fsec, int *tzp, char **tzn, int style, char *str);
-extern int EncodeTimeSpan(struct tm *tm, double fsec, int style, char *str);
+extern int EncodeDateOnly(struct tm * tm, int style, char *str);
+extern int EncodeTimeOnly(struct tm * tm, double fsec, int style, char *str);
+extern int EncodeDateTime(struct tm * tm, double fsec, int *tzp, char **tzn, int style, char *str);
+extern int EncodeTimeSpan(struct tm * tm, double fsec, int style, char *str);
-#endif /* DT_H */
+#endif /* DT_H */
diff --git a/src/include/utils/dynahash.h b/src/include/utils/dynahash.h
index fe9a51d3f1b..bf04ef10739 100644
--- a/src/include/utils/dynahash.h
+++ b/src/include/utils/dynahash.h
@@ -1,19 +1,18 @@
/*-------------------------------------------------------------------------
*
* dynahash--
- * POSTGRES dynahash.h file definitions
+ * POSTGRES dynahash.h file definitions
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: dynahash.h,v 1.2 1996/11/14 20:06:39 scrappy Exp $
+ * $Id: dynahash.h,v 1.3 1997/09/07 05:02:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef DYNAHASH_H
+#ifndef DYNAHASH_H
#define DYNAHASH_H
-extern int my_log2(long num);
-
-#endif /* DYNAHASH_H */
+extern int my_log2(long num);
+#endif /* DYNAHASH_H */
diff --git a/src/include/utils/dynamic_loader.h b/src/include/utils/dynamic_loader.h
index dd346a85df9..fe8e189ff35 100644
--- a/src/include/utils/dynamic_loader.h
+++ b/src/include/utils/dynamic_loader.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* dynamic_loader.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: dynamic_loader.h,v 1.5 1997/02/14 04:18:56 momjian Exp $
+ * $Id: dynamic_loader.h,v 1.6 1997/09/07 05:02:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -14,30 +14,31 @@
#define DYNAMIC_LOADER_H
#include <sys/types.h>
-#include <sys/param.h> /* For MAXPATHLEN */
+#include <sys/param.h> /* For MAXPATHLEN */
#include <postgres.h>
#ifdef MIN
#undef MIN
#undef MAX
-#endif /* MIN */
+#endif /* MIN */
/*
* List of dynamically loaded files.
*/
-typedef struct df_files {
- char filename[MAXPATHLEN]; /* Full pathname of file */
- dev_t device; /* Device file is on */
- ino_t inode; /* Inode number of file */
- void *handle; /* a handle for pg_dl* functions */
- struct df_files *next;
-} DynamicFileList;
+typedef struct df_files
+{
+ char filename[MAXPATHLEN]; /* Full pathname of file */
+ dev_t device; /* Device file is on */
+ ino_t inode; /* Inode number of file */
+ void *handle; /* a handle for pg_dl* functions */
+ struct df_files *next;
+} DynamicFileList;
-extern void *pg_dlopen(char *filename);
+extern void *pg_dlopen(char *filename);
extern func_ptr pg_dlsym(void *handle, char *funcname);
-extern void pg_dlclose(void *handle);
-extern char *pg_dlerror(void);
+extern void pg_dlclose(void *handle);
+extern char *pg_dlerror(void);
-#endif /* DYNAMIC_LOADER_H */
+#endif /* DYNAMIC_LOADER_H */
diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h
index 3673b2bd27f..fc9305d9a0e 100644
--- a/src/include/utils/elog.h
+++ b/src/include/utils/elog.h
@@ -1,31 +1,31 @@
/*-------------------------------------------------------------------------
*
* elog.h--
- * POSTGRES error logging definitions.
+ * POSTGRES error logging definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: elog.h,v 1.3 1996/11/10 03:06:24 momjian Exp $
+ * $Id: elog.h,v 1.4 1997/09/07 05:02:27 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef ELOG_H
+#ifndef ELOG_H
#define ELOG_H
-#define NOTICE 0 /* random info - no special action */
-#define WARN -1 /* Warning error - return to known state */
-#define FATAL 1 /* Fatal error - abort process */
-#define DEBUG -2 /* debug message */
-#define NOIND -3 /* debug message, don't indent as far */
+#define NOTICE 0 /* random info - no special action */
+#define WARN -1 /* Warning error - return to known state */
+#define FATAL 1 /* Fatal error - abort process */
+#define DEBUG -2 /* debug message */
+#define NOIND -3 /* debug message, don't indent as far */
-#define PTIME 0x100 /* prepend time to message */
-#define POS 0x200 /* prepend source position to message */
-#define USERMSG 0x400 /* send message to user */
-#define TERM 0x800 /* send message to terminal */
-#define DBLOG 0x1000 /* put message in per db log */
-#define SLOG 0x2000 /* put message in system log */
-#define ABORT 0x4000 /* abort process after logging */
+#define PTIME 0x100 /* prepend time to message */
+#define POS 0x200 /* prepend source position to message */
+#define USERMSG 0x400 /* send message to user */
+#define TERM 0x800 /* send message to terminal */
+#define DBLOG 0x1000 /* put message in per db log */
+#define SLOG 0x2000 /* put message in system log */
+#define ABORT 0x4000 /* abort process after logging */
#define ELOG_MAXLEN 4096
@@ -33,9 +33,11 @@
/* uncomment the following if you want your elog's to be timestamped */
/* #define ELOG_TIMESTAMPS */
-extern void elog(int lev, const char *fmt, ...);
+extern void elog(int lev, const char *fmt,...);
+
#ifndef PG_STANDALONE
-int DebugFileOpen(void);
+int DebugFileOpen(void);
+
#endif
-#endif /* ELOG_H */
+#endif /* ELOG_H */
diff --git a/src/include/utils/exc.h b/src/include/utils/exc.h
index 12bfdfc4c80..5c240eeaa5d 100644
--- a/src/include/utils/exc.h
+++ b/src/include/utils/exc.h
@@ -1,90 +1,95 @@
/*-------------------------------------------------------------------------
*
* exc.h--
- * POSTGRES exception handling definitions.
+ * POSTGRES exception handling definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: exc.h,v 1.7 1997/08/19 21:40:32 momjian Exp $
+ * $Id: exc.h,v 1.8 1997/09/07 05:02:28 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef EXC_H
+#ifndef EXC_H
#define EXC_H
#include <setjmp.h>
#include "config.h"
-extern char *ExcFileName;
-extern Index ExcLineNumber;
+extern char *ExcFileName;
+extern Index ExcLineNumber;
/*
* ExcMessage and Exception are now defined in c.h
*/
#if defined(JMP_BUF)
-typedef jmp_buf ExcContext;
+typedef jmp_buf ExcContext;
+
#else
-typedef sigjmp_buf ExcContext;
+typedef sigjmp_buf ExcContext;
+
#endif
-typedef Exception* ExcId;
-typedef long ExcDetail;
-typedef char* ExcData;
-
-typedef struct ExcFrame {
- struct ExcFrame *link;
- ExcContext context;
- ExcId id;
- ExcDetail detail;
- ExcData data;
- ExcMessage message;
-} ExcFrame;
-
-extern ExcFrame* ExcCurFrameP;
-
-#define ExcBegin() \
- { \
- ExcFrame exception; \
- \
- exception.link = ExcCurFrameP; \
- if (sigsetjmp(exception.context, 1) == 0) { \
- ExcCurFrameP = &exception; \
- {
-#define ExcExcept() \
- } \
- ExcCurFrameP = exception.link; \
- } else { \
- {
-#define ExcEnd() \
- } \
- } \
- }
+typedef Exception *ExcId;
+typedef long ExcDetail;
+typedef char *ExcData;
+
+typedef struct ExcFrame
+{
+ struct ExcFrame *link;
+ ExcContext context;
+ ExcId id;
+ ExcDetail detail;
+ ExcData data;
+ ExcMessage message;
+} ExcFrame;
+
+extern ExcFrame *ExcCurFrameP;
+
+#define ExcBegin() \
+ { \
+ ExcFrame exception; \
+ \
+ exception.link = ExcCurFrameP; \
+ if (sigsetjmp(exception.context, 1) == 0) { \
+ ExcCurFrameP = &exception; \
+ {
+#define ExcExcept() \
+ } \
+ ExcCurFrameP = exception.link; \
+ } else { \
+ {
+#define ExcEnd() \
+ } \
+ } \
+ }
#define raise4(x, t, d, message) \
- ExcRaise(&(x), (ExcDetail)(t), (ExcData)(d), (ExcMessage)(message))
+ ExcRaise(&(x), (ExcDetail)(t), (ExcData)(d), (ExcMessage)(message))
-#define reraise() \
- raise4(*exception.id,exception.detail,exception.data,exception.message)
+#define reraise() \
+ raise4(*exception.id,exception.detail,exception.data,exception.message)
-typedef void ExcProc(Exception*, ExcDetail, ExcData, ExcMessage);
+typedef void ExcProc(Exception *, ExcDetail, ExcData, ExcMessage);
/*
* prototypes for functions in exc.c
*/
-extern void EnableExceptionHandling(bool on);
-extern void ExcRaise(Exception *excP,
- ExcDetail detail,
- ExcData data,
- ExcMessage message);
+extern void EnableExceptionHandling(bool on);
+extern void
+ExcRaise(Exception * excP,
+ ExcDetail detail,
+ ExcData data,
+ ExcMessage message);
/*
* prototypes for functions in excabort.c
*/
-extern void ExcAbort(const Exception *excP, ExcDetail detail, ExcData data,
- ExcMessage message);
+extern void
+ExcAbort(const Exception * excP, ExcDetail detail, ExcData data,
+ ExcMessage message);
-#endif /* EXC_H */
+#endif /* EXC_H */
diff --git a/src/include/utils/excid.h b/src/include/utils/excid.h
index be411334142..69636540746 100644
--- a/src/include/utils/excid.h
+++ b/src/include/utils/excid.h
@@ -1,16 +1,16 @@
/*-------------------------------------------------------------------------
*
* excid.h--
- * POSTGRES known exception identifier definitions.
+ * POSTGRES known exception identifier definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: excid.h,v 1.3 1996/11/04 11:51:16 scrappy Exp $
+ * $Id: excid.h,v 1.4 1997/09/07 05:02:29 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef EXCID_H
+#ifndef EXCID_H
#define EXCID_H
@@ -21,9 +21,9 @@ extern Exception BadAllocSize;
extern Exception ExhaustedMemory;
extern Exception Unimplemented;
-extern Exception CatalogFailure; /* XXX inconsistent naming style */
-extern Exception InternalError; /* XXX inconsistent naming style */
-extern Exception SemanticError; /* XXX inconsistent naming style */
-extern Exception SystemError; /* XXX inconsistent naming style */
+extern Exception CatalogFailure;/* XXX inconsistent naming style */
+extern Exception InternalError; /* XXX inconsistent naming style */
+extern Exception SemanticError; /* XXX inconsistent naming style */
+extern Exception SystemError; /* XXX inconsistent naming style */
-#endif /* EXCID_H */
+#endif /* EXCID_H */
diff --git a/src/include/utils/fcache.h b/src/include/utils/fcache.h
index 9ce6e857e9d..27c3269b0e4 100644
--- a/src/include/utils/fcache.h
+++ b/src/include/utils/fcache.h
@@ -1,54 +1,54 @@
/*-------------------------------------------------------------------------
*
* fcache.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: fcache.h,v 1.2 1996/11/04 07:18:42 scrappy Exp $
+ * $Id: fcache.h,v 1.3 1997/09/07 05:02:30 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef FCACHE_H
-#define FCACHE_H
+#ifndef FCACHE_H
+#define FCACHE_H
typedef struct
{
- int typlen; /* length of the return type */
- int typbyval; /* true if return type is pass by value */
- func_ptr func; /* address of function to call (for c funcs) */
- Oid foid; /* oid of the function in pg_proc */
- Oid language; /* oid of the language in pg_language */
- int nargs; /* number of arguments */
-
- /* Might want to make these two arrays of size MAXFUNCARGS */
-
- Oid *argOidVect; /* oids of all the arguments */
- bool *nullVect; /* keep track of null arguments */
-
- char *src; /* source code of the function */
- char *bin; /* binary object code ?? */
- char *func_state; /* fuction_state struct for execution */
-
- bool oneResult; /* true we only want 1 result from the
- * function
- */
- bool hasSetArg; /* true if func is part of a nested dot expr
- * whose argument is func returning a set ugh!
- */
-
- Pointer funcSlot; /* if one result we need to copy it before we
- * end execution of the function and free stuff
- */
-
- char *setArg; /* current argument for nested dot execution
- * Nested dot expressions mean we have funcs
- * whose argument is a set of tuples
- */
-
- bool istrusted; /* trusted fn? */
-} FunctionCache, *FunctionCachePtr;
-
-#endif /* FCACHE_H */
+ int typlen; /* length of the return type */
+ int typbyval; /* true if return type is pass by value */
+ func_ptr func; /* address of function to call (for c
+ * funcs) */
+ Oid foid; /* oid of the function in pg_proc */
+ Oid language; /* oid of the language in pg_language */
+ int nargs; /* number of arguments */
+
+ /* Might want to make these two arrays of size MAXFUNCARGS */
+
+ Oid *argOidVect; /* oids of all the arguments */
+ bool *nullVect; /* keep track of null arguments */
+
+ char *src; /* source code of the function */
+ char *bin; /* binary object code ?? */
+ char *func_state; /* fuction_state struct for execution */
+
+ bool oneResult; /* true we only want 1 result from the
+ * function */
+ bool hasSetArg; /* true if func is part of a nested dot
+ * expr whose argument is func returning a
+ * set ugh! */
+
+ Pointer funcSlot; /* if one result we need to copy it before
+ * we end execution of the function and
+ * free stuff */
+
+ char *setArg; /* current argument for nested dot
+ * execution Nested dot expressions mean
+ * we have funcs whose argument is a set
+ * of tuples */
+
+ bool istrusted; /* trusted fn? */
+} FunctionCache, *FunctionCachePtr;
+
+#endif /* FCACHE_H */
diff --git a/src/include/utils/fcache2.h b/src/include/utils/fcache2.h
index 7c48406a966..781ff241393 100644
--- a/src/include/utils/fcache2.h
+++ b/src/include/utils/fcache2.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* fcache2.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: fcache2.h,v 1.2 1996/11/04 08:53:07 scrappy Exp $
+ * $Id: fcache2.h,v 1.3 1997/09/07 05:02:31 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -16,6 +16,6 @@
#include <nodes/execnodes.h>
extern void
-setFcache(Node *node, Oid foid, List *argList, ExprContext *econtext);
+ setFcache(Node * node, Oid foid, List * argList, ExprContext * econtext);
-#endif /* FCACHE2_H */
+#endif /* FCACHE2_H */
diff --git a/src/include/utils/fmgrtab.h b/src/include/utils/fmgrtab.h
index eac11a76802..e23f7c79266 100644
--- a/src/include/utils/fmgrtab.h
+++ b/src/include/utils/fmgrtab.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* fmgrtab.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: fmgrtab.h,v 1.4 1996/11/10 03:06:27 momjian Exp $
+ * $Id: fmgrtab.h,v 1.5 1997/09/07 05:02:32 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -14,15 +14,16 @@
#define FMGRTAB_H
-typedef struct {
- Oid proid;
- uint16 nargs;
- func_ptr func;
- char* funcName;
-} FmgrCall;
+typedef struct
+{
+ Oid proid;
+ uint16 nargs;
+ func_ptr func;
+ char *funcName;
+} FmgrCall;
-extern FmgrCall *fmgr_isbuiltin(Oid id);
-extern func_ptr fmgr_lookupByName(char* name);
-extern void load_file(char *filename);
+extern FmgrCall *fmgr_isbuiltin(Oid id);
+extern func_ptr fmgr_lookupByName(char *name);
+extern void load_file(char *filename);
-#endif /* FMGRTAB_H */
+#endif /* FMGRTAB_H */
diff --git a/src/include/utils/geo_decls.h b/src/include/utils/geo_decls.h
index 782d71fed4a..4cbbeca3b82 100644
--- a/src/include/utils/geo_decls.h
+++ b/src/include/utils/geo_decls.h
@@ -5,19 +5,19 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: geo_decls.h,v 1.8 1997/08/21 01:40:30 vadim Exp $
+ * $Id: geo_decls.h,v 1.9 1997/09/07 05:02:34 momjian Exp $
*
* NOTE
- * These routines do *not* use the float types from adt/.
+ * These routines do *not* use the float types from adt/.
*
- * XXX These routines were not written by a numerical analyst.
- * XXX I have made some attempt to flesh out the operators
- * and data types. There are still some more to do. - tgl 97/04/19
+ * XXX These routines were not written by a numerical analyst.
+ * XXX I have made some attempt to flesh out the operators
+ * and data types. There are still some more to do. - tgl 97/04/19
*
*-------------------------------------------------------------------------
*/
-#ifndef GEO_DECLS_H
-#define GEO_DECLS_H
+#ifndef GEO_DECLS_H
+#define GEO_DECLS_H
#include "access/attnum.h"
@@ -28,321 +28,334 @@
*-------------------------------------------------------------------*/
-#define EPSILON 1.0E-06
+#define EPSILON 1.0E-06
#ifdef EPSILON
-#define FPzero(A) (fabs(A) <= EPSILON)
-#define FPeq(A,B) (fabs((A) - (B)) <= EPSILON)
-#define FPlt(A,B) ((B) - (A) > EPSILON)
-#define FPle(A,B) ((A) - (B) <= EPSILON)
-#define FPgt(A,B) ((A) - (B) > EPSILON)
-#define FPge(A,B) ((B) - (A) <= EPSILON)
+#define FPzero(A) (fabs(A) <= EPSILON)
+#define FPeq(A,B) (fabs((A) - (B)) <= EPSILON)
+#define FPlt(A,B) ((B) - (A) > EPSILON)
+#define FPle(A,B) ((A) - (B) <= EPSILON)
+#define FPgt(A,B) ((A) - (B) > EPSILON)
+#define FPge(A,B) ((B) - (A) <= EPSILON)
#else
-#define FPzero(A) (A == 0)
-#define FPnzero(A) (A != 0)
-#define FPeq(A,B) (A == B)
-#define FPne(A,B) (A != B)
-#define FPlt(A,B) (A < B)
-#define FPle(A,B) (A <= B)
-#define FPgt(A,B) (A > B)
-#define FPge(A,B) (A >= B)
+#define FPzero(A) (A == 0)
+#define FPnzero(A) (A != 0)
+#define FPeq(A,B) (A == B)
+#define FPne(A,B) (A != B)
+#define FPlt(A,B) (A < B)
+#define FPle(A,B) (A <= B)
+#define FPgt(A,B) (A > B)
+#define FPge(A,B) (A >= B)
#endif
-#define HYPOT(A, B) sqrt((A) * (A) + (B) * (B))
+#define HYPOT(A, B) sqrt((A) * (A) + (B) * (B))
/*--------------------------------------------------------------------
* Memory management.
*-------------------------------------------------------------------*/
-#define PALLOC(SIZE) palloc(SIZE)
-#define PFREE(P) pfree(P)
-#define PALLOCTYPE(TYPE) (TYPE *) PALLOC(sizeof(TYPE))
+#define PALLOC(SIZE) palloc(SIZE)
+#define PFREE(P) pfree(P)
+#define PALLOCTYPE(TYPE) (TYPE *) PALLOC(sizeof(TYPE))
/*#endif !FmgrIncluded */
/*---------------------------------------------------------------------
* Point - (x,y)
*-------------------------------------------------------------------*/
-typedef struct {
- double x, y;
-} Point;
+typedef struct
+{
+ double x,
+ y;
+} Point;
/*---------------------------------------------------------------------
- * LSEG - A straight line, specified by endpoints.
+ * LSEG - A straight line, specified by endpoints.
*-------------------------------------------------------------------*/
-typedef struct {
- Point p[2];
+typedef struct
+{
+ Point p[2];
- double m; /* precomputed to save time, not in tuple */
-} LSEG;
+ double m; /* precomputed to save time, not in tuple */
+} LSEG;
/*---------------------------------------------------------------------
- * PATH - Specified by vertex points.
+ * PATH - Specified by vertex points.
*-------------------------------------------------------------------*/
-typedef struct {
- int32 size; /* XXX varlena */
- int32 npts;
- int32 closed; /* is this a closed polygon? */
- int32 dummy; /* padding to make it double align */
- Point p[1]; /* variable length array of POINTs */
-} PATH;
+typedef struct
+{
+ int32 size; /* XXX varlena */
+ int32 npts;
+ int32 closed; /* is this a closed polygon? */
+ int32 dummy; /* padding to make it double align */
+ Point p[1]; /* variable length array of POINTs */
+} PATH;
/*---------------------------------------------------------------------
- * LINE - Specified by its general equation (Ax+By+C=0).
- * If there is a y-intercept, it is C, which
- * incidentally gives a freebie point on the line
- * (if B=0, then C is the x-intercept).
- * Slope m is precalculated to save time; if
- * the line is not vertical, m == A.
+ * LINE - Specified by its general equation (Ax+By+C=0).
+ * If there is a y-intercept, it is C, which
+ * incidentally gives a freebie point on the line
+ * (if B=0, then C is the x-intercept).
+ * Slope m is precalculated to save time; if
+ * the line is not vertical, m == A.
*-------------------------------------------------------------------*/
-typedef struct {
- double A, B, C;
+typedef struct
+{
+ double A,
+ B,
+ C;
- double m;
-} LINE;
+ double m;
+} LINE;
/*---------------------------------------------------------------------
* BOX - Specified by two corner points, which are
- * sorted to save calculation time later.
+ * sorted to save calculation time later.
*-------------------------------------------------------------------*/
-typedef struct {
- Point high, low; /* corner POINTs */
-} BOX;
+typedef struct
+{
+ Point high,
+ low; /* corner POINTs */
+} BOX;
/*---------------------------------------------------------------------
- * POLYGON - Specified by an array of doubles defining the points,
- * keeping the number of points and the bounding box for
- * speed purposes.
+ * POLYGON - Specified by an array of doubles defining the points,
+ * keeping the number of points and the bounding box for
+ * speed purposes.
*-------------------------------------------------------------------*/
-typedef struct {
- int32 size; /* XXX varlena */
- int32 npts;
- BOX boundbox;
- Point p[1]; /* variable length array of POINTs */
-} POLYGON;
+typedef struct
+{
+ int32 size; /* XXX varlena */
+ int32 npts;
+ BOX boundbox;
+ Point p[1]; /* variable length array of POINTs */
+} POLYGON;
/*---------------------------------------------------------------------
* CIRCLE - Specified by a center point and radius.
*-------------------------------------------------------------------*/
-typedef struct {
- Point center;
- double radius;
-} CIRCLE;
+typedef struct
+{
+ Point center;
+ double radius;
+} CIRCLE;
-/*
+/*
* in geo_ops.h
*/
/* public point routines */
-extern Point *point_in(char *str);
-extern char *point_out(Point *pt);
-extern bool point_left(Point *pt1, Point *pt2);
-extern bool point_right(Point *pt1, Point *pt2);
-extern bool point_above(Point *pt1, Point *pt2);
-extern bool point_below(Point *pt1, Point *pt2);
-extern bool point_vert(Point *pt1, Point *pt2);
-extern bool point_horiz(Point *pt1, Point *pt2);
-extern bool point_eq(Point *pt1, Point *pt2);
-extern int32 pointdist(Point *p1, Point *p2);
-extern double *point_distance(Point *pt1, Point *pt2);
-extern double *point_slope(Point *pt1, Point *pt2);
+extern Point *point_in(char *str);
+extern char *point_out(Point * pt);
+extern bool point_left(Point * pt1, Point * pt2);
+extern bool point_right(Point * pt1, Point * pt2);
+extern bool point_above(Point * pt1, Point * pt2);
+extern bool point_below(Point * pt1, Point * pt2);
+extern bool point_vert(Point * pt1, Point * pt2);
+extern bool point_horiz(Point * pt1, Point * pt2);
+extern bool point_eq(Point * pt1, Point * pt2);
+extern int32 pointdist(Point * p1, Point * p2);
+extern double *point_distance(Point * pt1, Point * pt2);
+extern double *point_slope(Point * pt1, Point * pt2);
/* private routines */
-extern double point_dt(Point *pt1, Point *pt2);
-extern double point_sl(Point *pt1, Point *pt2);
+extern double point_dt(Point * pt1, Point * pt2);
+extern double point_sl(Point * pt1, Point * pt2);
-extern Point *point(float8 *x, float8 *y);
-extern Point *point_add(Point *p1, Point *p2);
-extern Point *point_sub(Point *p1, Point *p2);
-extern Point *point_mul(Point *p1, Point *p2);
-extern Point *point_div(Point *p1, Point *p2);
+extern Point *point(float8 * x, float8 * y);
+extern Point *point_add(Point * p1, Point * p2);
+extern Point *point_sub(Point * p1, Point * p2);
+extern Point *point_mul(Point * p1, Point * p2);
+extern Point *point_div(Point * p1, Point * p2);
/* public lseg routines */
-extern LSEG *lseg_in(char *str);
-extern char *lseg_out(LSEG *ls);
-extern bool lseg_intersect(LSEG *l1, LSEG *l2);
-extern bool lseg_parallel(LSEG *l1, LSEG *l2);
-extern bool lseg_perp(LSEG *l1, LSEG *l2);
-extern bool lseg_vertical(LSEG *lseg);
-extern bool lseg_horizontal(LSEG *lseg);
-extern bool lseg_eq(LSEG *l1, LSEG *l2);
-extern double *lseg_distance(LSEG *l1, LSEG *l2);
-extern Point *lseg_center(LSEG *lseg);
-extern Point *lseg_interpt(LSEG *l1, LSEG *l2);
-extern double *dist_pl(Point *pt, LINE *line);
-extern double *dist_ps(Point *pt, LSEG *lseg);
-extern double *dist_ppath(Point *pt, PATH *path);
-extern double *dist_pb(Point *pt, BOX *box);
-extern double *dist_sl(LSEG *lseg, LINE *line);
-extern double *dist_sb(LSEG *lseg, BOX *box);
-extern double *dist_lb(LINE *line, BOX *box);
-extern Point *close_pl(Point *pt, LINE *line);
-extern Point *close_ps(Point *pt, LSEG *lseg);
-extern Point *close_pb(Point *pt, BOX *box);
-extern Point *close_sl(LSEG *lseg, LINE *line);
-extern Point *close_sb(LSEG *lseg, BOX *box);
-extern Point *close_lb(LINE *line, BOX *box);
-extern bool on_pl(Point *pt, LINE *line);
-extern bool on_ps(Point *pt, LSEG *lseg);
-extern bool on_pb(Point *pt, BOX *box);
-extern bool on_ppath(Point *pt, PATH *path);
-extern bool on_sl(LSEG *lseg, LINE *line);
-extern bool on_sb(LSEG *lseg, BOX *box);
-extern bool inter_sl(LSEG *lseg, LINE *line);
-extern bool inter_sb(LSEG *lseg, BOX *box);
-extern bool inter_lb(LINE *line, BOX *box);
+extern LSEG *lseg_in(char *str);
+extern char *lseg_out(LSEG * ls);
+extern bool lseg_intersect(LSEG * l1, LSEG * l2);
+extern bool lseg_parallel(LSEG * l1, LSEG * l2);
+extern bool lseg_perp(LSEG * l1, LSEG * l2);
+extern bool lseg_vertical(LSEG * lseg);
+extern bool lseg_horizontal(LSEG * lseg);
+extern bool lseg_eq(LSEG * l1, LSEG * l2);
+extern double *lseg_distance(LSEG * l1, LSEG * l2);
+extern Point *lseg_center(LSEG * lseg);
+extern Point *lseg_interpt(LSEG * l1, LSEG * l2);
+extern double *dist_pl(Point * pt, LINE * line);
+extern double *dist_ps(Point * pt, LSEG * lseg);
+extern double *dist_ppath(Point * pt, PATH * path);
+extern double *dist_pb(Point * pt, BOX * box);
+extern double *dist_sl(LSEG * lseg, LINE * line);
+extern double *dist_sb(LSEG * lseg, BOX * box);
+extern double *dist_lb(LINE * line, BOX * box);
+extern Point *close_pl(Point * pt, LINE * line);
+extern Point *close_ps(Point * pt, LSEG * lseg);
+extern Point *close_pb(Point * pt, BOX * box);
+extern Point *close_sl(LSEG * lseg, LINE * line);
+extern Point *close_sb(LSEG * lseg, BOX * box);
+extern Point *close_lb(LINE * line, BOX * box);
+extern bool on_pl(Point * pt, LINE * line);
+extern bool on_ps(Point * pt, LSEG * lseg);
+extern bool on_pb(Point * pt, BOX * box);
+extern bool on_ppath(Point * pt, PATH * path);
+extern bool on_sl(LSEG * lseg, LINE * line);
+extern bool on_sb(LSEG * lseg, BOX * box);
+extern bool inter_sl(LSEG * lseg, LINE * line);
+extern bool inter_sb(LSEG * lseg, BOX * box);
+extern bool inter_lb(LINE * line, BOX * box);
/* private routines */
-extern LSEG *lseg_construct(Point *pt1, Point *pt2);
+extern LSEG *lseg_construct(Point * pt1, Point * pt2);
/* public box routines */
-extern BOX *box_in(char *str);
-extern char *box_out(BOX *box);
-extern bool box_same(BOX *box1, BOX *box2);
-extern bool box_overlap(BOX *box1, BOX *box2);
-extern bool box_overleft(BOX *box1, BOX *box2);
-extern bool box_left(BOX *box1, BOX *box2);
-extern bool box_right(BOX *box1, BOX *box2);
-extern bool box_overright(BOX *box1, BOX *box2);
-extern bool box_contained(BOX *box1, BOX *box2);
-extern bool box_contain(BOX *box1, BOX *box2);
-extern bool box_below(BOX *box1, BOX *box2);
-extern bool box_above(BOX *box1, BOX *box2);
-extern bool box_lt(BOX *box1, BOX *box2);
-extern bool box_gt(BOX *box1, BOX *box2);
-extern bool box_eq(BOX *box1, BOX *box2);
-extern bool box_le(BOX *box1, BOX *box2);
-extern bool box_ge(BOX *box1, BOX *box2);
-extern Point *box_center(BOX *box);
-extern double *box_area(BOX *box);
-extern double *box_width(BOX *box);
-extern double *box_height(BOX *box);
-extern double *box_distance(BOX *box1, BOX *box2);
-extern Point *box_center(BOX *box);
-extern BOX *box_intersect(BOX *box1, BOX *box2);
-extern LSEG *box_diagonal(BOX *box);
+extern BOX *box_in(char *str);
+extern char *box_out(BOX * box);
+extern bool box_same(BOX * box1, BOX * box2);
+extern bool box_overlap(BOX * box1, BOX * box2);
+extern bool box_overleft(BOX * box1, BOX * box2);
+extern bool box_left(BOX * box1, BOX * box2);
+extern bool box_right(BOX * box1, BOX * box2);
+extern bool box_overright(BOX * box1, BOX * box2);
+extern bool box_contained(BOX * box1, BOX * box2);
+extern bool box_contain(BOX * box1, BOX * box2);
+extern bool box_below(BOX * box1, BOX * box2);
+extern bool box_above(BOX * box1, BOX * box2);
+extern bool box_lt(BOX * box1, BOX * box2);
+extern bool box_gt(BOX * box1, BOX * box2);
+extern bool box_eq(BOX * box1, BOX * box2);
+extern bool box_le(BOX * box1, BOX * box2);
+extern bool box_ge(BOX * box1, BOX * box2);
+extern Point *box_center(BOX * box);
+extern double *box_area(BOX * box);
+extern double *box_width(BOX * box);
+extern double *box_height(BOX * box);
+extern double *box_distance(BOX * box1, BOX * box2);
+extern Point *box_center(BOX * box);
+extern BOX *box_intersect(BOX * box1, BOX * box2);
+extern LSEG *box_diagonal(BOX * box);
/* private routines */
-extern double box_dt(BOX *box1, BOX *box2);
+extern double box_dt(BOX * box1, BOX * box2);
-extern BOX *box(Point *p1, Point *p2);
-extern BOX *box_add(BOX *box, Point *p);
-extern BOX *box_sub(BOX *box, Point *p);
-extern BOX *box_mul(BOX *box, Point *p);
-extern BOX *box_div(BOX *box, Point *p);
+extern BOX *box(Point * p1, Point * p2);
+extern BOX *box_add(BOX * box, Point * p);
+extern BOX *box_sub(BOX * box, Point * p);
+extern BOX *box_mul(BOX * box, Point * p);
+extern BOX *box_div(BOX * box, Point * p);
/* private line routines */
-extern double *line_distance(LINE *l1, LINE *l2);
+extern double *line_distance(LINE * l1, LINE * l2);
/* public path routines */
-extern PATH *path_in(char *str);
-extern char *path_out(PATH *path);
-extern bool path_n_lt(PATH *p1, PATH *p2);
-extern bool path_n_gt(PATH *p1, PATH *p2);
-extern bool path_n_eq(PATH *p1, PATH *p2);
-extern bool path_n_le(PATH *p1, PATH *p2);
-extern bool path_n_ge(PATH *p1, PATH *p2);
-extern bool path_inter(PATH *p1, PATH *p2);
-extern double *path_distance(PATH *p1, PATH *p2);
-extern double *path_length(PATH *path);
-
-extern bool path_isclosed(PATH *path);
-extern bool path_isopen(PATH *path);
-extern int4 path_npoints(PATH *path);
-
-extern PATH *path_close(PATH *path);
-extern PATH *path_open(PATH *path);
-extern PATH *path_add(PATH *p1, PATH *p2);
-extern PATH *path_add_pt(PATH *path, Point *point);
-extern PATH *path_sub_pt(PATH *path, Point *point);
-extern PATH *path_mul_pt(PATH *path, Point *point);
-extern PATH *path_div_pt(PATH *path, Point *point);
-extern bool path_contain_pt( PATH *path, Point *p);
-extern bool pt_contained_path( Point *p, PATH *path);
-
-extern Point *path_center(PATH *path);
-extern POLYGON *path_poly(PATH *path);
-
-extern PATH *upgradepath(PATH *path);
-extern bool isoldpath(PATH *path);
+extern PATH *path_in(char *str);
+extern char *path_out(PATH * path);
+extern bool path_n_lt(PATH * p1, PATH * p2);
+extern bool path_n_gt(PATH * p1, PATH * p2);
+extern bool path_n_eq(PATH * p1, PATH * p2);
+extern bool path_n_le(PATH * p1, PATH * p2);
+extern bool path_n_ge(PATH * p1, PATH * p2);
+extern bool path_inter(PATH * p1, PATH * p2);
+extern double *path_distance(PATH * p1, PATH * p2);
+extern double *path_length(PATH * path);
+
+extern bool path_isclosed(PATH * path);
+extern bool path_isopen(PATH * path);
+extern int4 path_npoints(PATH * path);
+
+extern PATH *path_close(PATH * path);
+extern PATH *path_open(PATH * path);
+extern PATH *path_add(PATH * p1, PATH * p2);
+extern PATH *path_add_pt(PATH * path, Point * point);
+extern PATH *path_sub_pt(PATH * path, Point * point);
+extern PATH *path_mul_pt(PATH * path, Point * point);
+extern PATH *path_div_pt(PATH * path, Point * point);
+extern bool path_contain_pt(PATH * path, Point * p);
+extern bool pt_contained_path(Point * p, PATH * path);
+
+extern Point *path_center(PATH * path);
+extern POLYGON *path_poly(PATH * path);
+
+extern PATH *upgradepath(PATH * path);
+extern bool isoldpath(PATH * path);
/* public polygon routines */
extern POLYGON *poly_in(char *s);
-extern char *poly_out(POLYGON *poly);
-extern bool poly_left(POLYGON *polya, POLYGON *polyb);
-extern bool poly_overleft(POLYGON *polya, POLYGON *polyb);
-extern bool poly_right(POLYGON *polya, POLYGON *polyb);
-extern bool poly_overright(POLYGON *polya, POLYGON *polyb);
-extern bool poly_same(POLYGON *polya, POLYGON *polyb);
-extern bool poly_overlap(POLYGON *polya, POLYGON *polyb);
-extern bool poly_contain(POLYGON *polya, POLYGON *polyb);
-extern bool poly_contained(POLYGON *polya, POLYGON *polyb);
-extern bool poly_contain_pt( POLYGON *poly, Point *p);
-extern bool pt_contained_poly( Point *p, POLYGON *poly);
-
-extern double *poly_distance(POLYGON *polya, POLYGON *polyb);
-extern int4 poly_npoints(POLYGON *poly);
-extern Point *poly_center(POLYGON *poly);
-extern BOX *poly_box(POLYGON *poly);
-extern PATH *poly_path(POLYGON *poly);
-extern POLYGON *box_poly(BOX *box);
-
-extern POLYGON *upgradepoly(POLYGON *poly);
-extern POLYGON *revertpoly(POLYGON *poly);
+extern char *poly_out(POLYGON * poly);
+extern bool poly_left(POLYGON * polya, POLYGON * polyb);
+extern bool poly_overleft(POLYGON * polya, POLYGON * polyb);
+extern bool poly_right(POLYGON * polya, POLYGON * polyb);
+extern bool poly_overright(POLYGON * polya, POLYGON * polyb);
+extern bool poly_same(POLYGON * polya, POLYGON * polyb);
+extern bool poly_overlap(POLYGON * polya, POLYGON * polyb);
+extern bool poly_contain(POLYGON * polya, POLYGON * polyb);
+extern bool poly_contained(POLYGON * polya, POLYGON * polyb);
+extern bool poly_contain_pt(POLYGON * poly, Point * p);
+extern bool pt_contained_poly(Point * p, POLYGON * poly);
+
+extern double *poly_distance(POLYGON * polya, POLYGON * polyb);
+extern int4 poly_npoints(POLYGON * poly);
+extern Point *poly_center(POLYGON * poly);
+extern BOX *poly_box(POLYGON * poly);
+extern PATH *poly_path(POLYGON * poly);
+extern POLYGON *box_poly(BOX * box);
+
+extern POLYGON *upgradepoly(POLYGON * poly);
+extern POLYGON *revertpoly(POLYGON * poly);
/* private polygon routines */
/* public circle routines */
-extern CIRCLE *circle_in(char *str);
-extern char *circle_out(CIRCLE *circle);
-extern bool circle_same(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_overlap(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_overleft(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_left(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_right(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_overright(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_contained(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_contain(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_below(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_above(CIRCLE *circle1, CIRCLE *circle2);
-
-extern bool circle_eq(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_ne(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_lt(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_gt(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_le(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_ge(CIRCLE *circle1, CIRCLE *circle2);
-extern bool circle_contain_pt(CIRCLE *circle, Point *point);
-extern bool pt_contained_circle(Point *point, CIRCLE *circle);
-extern CIRCLE *circle_add_pt(CIRCLE *circle, Point *point);
-extern CIRCLE *circle_sub_pt(CIRCLE *circle, Point *point);
-extern CIRCLE *circle_mul_pt(CIRCLE *circle, Point *point);
-extern CIRCLE *circle_div_pt(CIRCLE *circle, Point *point);
-extern double *circle_diameter(CIRCLE *circle);
-extern double *circle_radius(CIRCLE *circle);
-extern double *circle_distance(CIRCLE *circle1, CIRCLE *circle2);
-extern double *dist_pc(Point *point, CIRCLE *circle);
-extern double *dist_cpoly(CIRCLE *circle, POLYGON *poly);
-extern Point *circle_center(CIRCLE *circle);
-extern CIRCLE *circle(Point *center, float8 *radius);
-extern CIRCLE *box_circle(BOX *box);
-extern BOX *circle_box(CIRCLE *circle);
-extern CIRCLE *poly_circle(POLYGON *poly);
-extern POLYGON *circle_poly(int npts, CIRCLE *circle);
+extern CIRCLE *circle_in(char *str);
+extern char *circle_out(CIRCLE * circle);
+extern bool circle_same(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_overlap(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_overleft(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_left(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_right(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_overright(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_contained(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_contain(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_below(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_above(CIRCLE * circle1, CIRCLE * circle2);
+
+extern bool circle_eq(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_ne(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_lt(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_gt(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_le(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_ge(CIRCLE * circle1, CIRCLE * circle2);
+extern bool circle_contain_pt(CIRCLE * circle, Point * point);
+extern bool pt_contained_circle(Point * point, CIRCLE * circle);
+extern CIRCLE *circle_add_pt(CIRCLE * circle, Point * point);
+extern CIRCLE *circle_sub_pt(CIRCLE * circle, Point * point);
+extern CIRCLE *circle_mul_pt(CIRCLE * circle, Point * point);
+extern CIRCLE *circle_div_pt(CIRCLE * circle, Point * point);
+extern double *circle_diameter(CIRCLE * circle);
+extern double *circle_radius(CIRCLE * circle);
+extern double *circle_distance(CIRCLE * circle1, CIRCLE * circle2);
+extern double *dist_pc(Point * point, CIRCLE * circle);
+extern double *dist_cpoly(CIRCLE * circle, POLYGON * poly);
+extern Point *circle_center(CIRCLE * circle);
+extern CIRCLE *circle(Point * center, float8 * radius);
+extern CIRCLE *box_circle(BOX * box);
+extern BOX *circle_box(CIRCLE * circle);
+extern CIRCLE *poly_circle(POLYGON * poly);
+extern POLYGON *circle_poly(int npts, CIRCLE * circle);
/* private routines */
-extern double *circle_area(CIRCLE *circle);
-extern double circle_dt(CIRCLE *circle1, CIRCLE *circle2);
+extern double *circle_area(CIRCLE * circle);
+extern double circle_dt(CIRCLE * circle1, CIRCLE * circle2);
/* geo_selfuncs.c */
-extern float64 areasel(Oid opid, Oid relid, AttrNumber attno,
- char *value, int32 flag);
-extern float64 areajoinsel(Oid opid, Oid relid, AttrNumber attno,
- char *value, int32 flag);
-
-#endif /* GEO_DECLS_H */
+extern float64
+areasel(Oid opid, Oid relid, AttrNumber attno,
+ char *value, int32 flag);
+extern float64
+areajoinsel(Oid opid, Oid relid, AttrNumber attno,
+ char *value, int32 flag);
+
+#endif /* GEO_DECLS_H */
diff --git a/src/include/utils/hsearch.h b/src/include/utils/hsearch.h
index 3f5727fba0f..577e6edfcdc 100644
--- a/src/include/utils/hsearch.h
+++ b/src/include/utils/hsearch.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* hsearch.h--
- * for hashing in the new buffer manager
+ * for hashing in the new buffer manager
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: hsearch.h,v 1.3 1997/08/19 21:40:35 momjian Exp $
+ * $Id: hsearch.h,v 1.4 1997/09/07 05:02:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -17,123 +17,131 @@
/*
* Constants
*/
-# define DEF_BUCKET_SIZE 256
-# define DEF_BUCKET_SHIFT 8 /* log2(BUCKET) */
-# define DEF_SEGSIZE 256
-# define DEF_SEGSIZE_SHIFT 8 /* log2(SEGSIZE) */
-# define DEF_DIRSIZE 256
-# define PRIME1 37
-# define PRIME2 1048583
-# define DEF_FFACTOR 1
-# define SPLTMAX 8
+#define DEF_BUCKET_SIZE 256
+#define DEF_BUCKET_SHIFT 8/* log2(BUCKET) */
+#define DEF_SEGSIZE 256
+#define DEF_SEGSIZE_SHIFT 8 /* log2(SEGSIZE) */
+#define DEF_DIRSIZE 256
+#define PRIME1 37
+#define PRIME2 1048583
+#define DEF_FFACTOR 1
+#define SPLTMAX 8
/*
* Hash bucket is actually bigger than this. Key field can have
* variable length and a variable length data field follows it.
*/
-typedef struct element {
- unsigned long next; /* secret from user */
- long key;
-} ELEMENT;
+typedef struct element
+{
+ unsigned long next; /* secret from user */
+ long key;
+} ELEMENT;
typedef unsigned long BUCKET_INDEX;
+
/* segment is an array of bucket pointers */
typedef BUCKET_INDEX *SEGMENT;
typedef unsigned long SEG_OFFSET;
-typedef struct hashhdr {
- long bsize; /* Bucket/Page Size */
- long bshift; /* Bucket shift */
- long dsize; /* Directory Size */
- long ssize; /* Segment Size */
- long sshift; /* Segment shift */
- long max_bucket; /* ID of Maximum bucket in use */
- long high_mask; /* Mask to modulo into entire table */
- long low_mask; /* Mask to modulo into lower half of table */
- long ffactor; /* Fill factor */
- long nkeys; /* Number of keys in hash table */
- long nsegs; /* Number of allocated segments */
- long keysize; /* hash key length in bytes */
- long datasize; /* elem data length in bytes */
- long max_dsize; /* 'dsize' limit if directory is fixed size */
- BUCKET_INDEX freeBucketIndex;
- /* index of first free bucket */
+typedef struct hashhdr
+{
+ long bsize; /* Bucket/Page Size */
+ long bshift; /* Bucket shift */
+ long dsize; /* Directory Size */
+ long ssize; /* Segment Size */
+ long sshift; /* Segment shift */
+ long max_bucket; /* ID of Maximum bucket in use */
+ long high_mask; /* Mask to modulo into entire table */
+ long low_mask; /* Mask to modulo into lower half of table */
+ long ffactor; /* Fill factor */
+ long nkeys; /* Number of keys in hash table */
+ long nsegs; /* Number of allocated segments */
+ long keysize; /* hash key length in bytes */
+ long datasize; /* elem data length in bytes */
+ long max_dsize; /* 'dsize' limit if directory is fixed
+ * size */
+ BUCKET_INDEX freeBucketIndex;
+ /* index of first free bucket */
#ifdef HASH_STATISTICS
- long accesses;
- long collisions;
+ long accesses;
+ long collisions;
#endif
-} HHDR;
-
-typedef struct htab {
- HHDR *hctl; /* shared control information */
- long (*hash)(); /* Hash Function */
- char *segbase; /* segment base address for
- * calculating pointer values
- */
- SEG_OFFSET *dir; /* 'directory' of segm starts */
- long *(*alloc)(); /* memory allocator
- * (long * for alignment reasons)
- */
-
-} HTAB;
-
-typedef struct hashctl {
- long bsize; /* Bucket Size */
- long ssize; /* Segment Size */
- long dsize; /* Dirsize Size */
- long ffactor; /* Fill factor */
- long (*hash)(); /* Hash Function */
- long keysize; /* hash key length in bytes */
- long datasize; /* elem data length in bytes */
- long max_size; /* limit to dsize if directory size is limited */
- long *segbase; /* base for calculating bucket + seg ptrs */
- long * (*alloc)(); /* memory allocation function */
- long *dir; /* directory if allocated already */
- long *hctl; /* location of header information in shd mem */
-} HASHCTL;
+} HHDR;
+
+typedef struct htab
+{
+ HHDR *hctl; /* shared control information */
+ long (*hash) (); /* Hash Function */
+ char *segbase; /* segment base address for calculating
+ * pointer values */
+ SEG_OFFSET *dir; /* 'directory' of segm starts */
+ long *(*alloc) ();/* memory allocator (long * for alignment
+ * reasons) */
+
+} HTAB;
+
+typedef struct hashctl
+{
+ long bsize; /* Bucket Size */
+ long ssize; /* Segment Size */
+ long dsize; /* Dirsize Size */
+ long ffactor; /* Fill factor */
+ long (*hash) (); /* Hash Function */
+ long keysize; /* hash key length in bytes */
+ long datasize; /* elem data length in bytes */
+ long max_size; /* limit to dsize if directory size is
+ * limited */
+ long *segbase; /* base for calculating bucket + seg ptrs */
+ long *(*alloc) ();/* memory allocation function */
+ long *dir; /* directory if allocated already */
+ long *hctl; /* location of header information in shd
+ * mem */
+} HASHCTL;
/* Flags to indicate action for hctl */
-#define HASH_BUCKET 0x001 /* Setting bucket size */
+#define HASH_BUCKET 0x001 /* Setting bucket size */
#define HASH_SEGMENT 0x002 /* Setting segment size */
#define HASH_DIRSIZE 0x004 /* Setting directory size */
#define HASH_FFACTOR 0x008 /* Setting fill factor */
#define HASH_FUNCTION 0x010 /* Set user defined hash function */
-#define HASH_ELEM 0x020 /* Setting key/data size */
-#define HASH_SHARED_MEM 0x040 /* Setting shared mem const */
-#define HASH_ATTACH 0x080 /* Do not initialize hctl */
-#define HASH_ALLOC 0x100 /* Setting memory allocator */
+#define HASH_ELEM 0x020 /* Setting key/data size */
+#define HASH_SHARED_MEM 0x040 /* Setting shared mem const */
+#define HASH_ATTACH 0x080 /* Do not initialize hctl */
+#define HASH_ALLOC 0x100 /* Setting memory allocator */
/* seg_alloc assumes that INVALID_INDEX is 0*/
-#define INVALID_INDEX (0)
-#define NO_MAX_DSIZE (-1)
+#define INVALID_INDEX (0)
+#define NO_MAX_DSIZE (-1)
/* number of hash buckets allocated at once */
-#define BUCKET_ALLOC_INCR (30)
+#define BUCKET_ALLOC_INCR (30)
/* hash_search operations */
-typedef enum {
- HASH_FIND,
- HASH_ENTER,
- HASH_REMOVE,
- HASH_FIND_SAVE,
- HASH_REMOVE_SAVED
-} HASHACTION;
-
-/*
+typedef enum
+{
+ HASH_FIND,
+ HASH_ENTER,
+ HASH_REMOVE,
+ HASH_FIND_SAVE,
+ HASH_REMOVE_SAVED
+} HASHACTION;
+
+/*
* prototypes from functions in dynahash.c
*/
-extern HTAB *hash_create(int nelem, HASHCTL *info, int flags);
-extern void hash_destroy(HTAB *hashp);
-extern void hash_stats(char *where, HTAB *hashp);
-extern long *hash_search(HTAB *hashp, char *keyPtr, HASHACTION action,
- bool *foundPtr);
-extern long *hash_seq(HTAB *hashp);
-
-/*
+extern HTAB *hash_create(int nelem, HASHCTL * info, int flags);
+extern void hash_destroy(HTAB * hashp);
+extern void hash_stats(char *where, HTAB * hashp);
+extern long *
+hash_search(HTAB * hashp, char *keyPtr, HASHACTION action,
+ bool * foundPtr);
+extern long *hash_seq(HTAB * hashp);
+
+/*
* prototypes from functions in hashfn.c
*/
-extern long string_hash(char *key, int keysize);
-extern long tag_hash(int *key, int keysize);
+extern long string_hash(char *key, int keysize);
+extern long tag_hash(int *key, int keysize);
-#endif /* HSEARCH_H */
+#endif /* HSEARCH_H */
diff --git a/src/include/utils/inval.h b/src/include/utils/inval.h
index 0c993f5964b..21ea8eefb6b 100644
--- a/src/include/utils/inval.h
+++ b/src/include/utils/inval.h
@@ -1,46 +1,47 @@
/*-------------------------------------------------------------------------
*
* inval.h--
- * POSTGRES cache invalidation dispatcher definitions.
+ * POSTGRES cache invalidation dispatcher definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: inval.h,v 1.4 1997/08/19 21:40:37 momjian Exp $
+ * $Id: inval.h,v 1.5 1997/09/07 05:02:36 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef INVAL_H
+#ifndef INVAL_H
#define INVAL_H
#include <access/htup.h>
#include <utils/rel.h>
-extern void DiscardInvalid(void);
+extern void DiscardInvalid(void);
-extern void RegisterInvalid(bool send);
+extern void RegisterInvalid(bool send);
-extern void SetRefreshWhenInvalidate(bool on);
+extern void SetRefreshWhenInvalidate(bool on);
-extern void RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple);
+extern void RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple);
/*
* POSTGRES local cache invalidation definitions. (originates from linval.h)
*/
-typedef struct InvalidationUserData {
- struct InvalidationUserData *dataP[1]; /* VARIABLE LENGTH */
-} InvalidationUserData; /* VARIABLE LENGTH STRUCTURE */
+typedef struct InvalidationUserData
+{
+ struct InvalidationUserData *dataP[1]; /* VARIABLE LENGTH */
+} InvalidationUserData; /* VARIABLE LENGTH STRUCTURE */
-typedef struct InvalidationEntryData {
- InvalidationUserData *nextP;
- InvalidationUserData userData; /* VARIABLE LENGTH ARRAY */
-} InvalidationEntryData; /* VARIABLE LENGTH STRUCTURE */
+typedef struct InvalidationEntryData
+{
+ InvalidationUserData *nextP;
+ InvalidationUserData userData; /* VARIABLE LENGTH ARRAY */
+} InvalidationEntryData; /* VARIABLE LENGTH STRUCTURE */
typedef Pointer InvalidationEntry;
-typedef InvalidationEntry LocalInvalid;
+typedef InvalidationEntry LocalInvalid;
-#define EmptyLocalInvalid NULL
-
-#endif /* INVAL_H */
+#define EmptyLocalInvalid NULL
+#endif /* INVAL_H */
diff --git a/src/include/utils/lselect.h b/src/include/utils/lselect.h
index 048ea932e28..d5498df779a 100644
--- a/src/include/utils/lselect.h
+++ b/src/include/utils/lselect.h
@@ -1,49 +1,55 @@
/*-------------------------------------------------------------------------
*
* lselect.h--
- * definitions for the replacement selection algorithm.
+ * definitions for the replacement selection algorithm.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: lselect.h,v 1.4 1997/08/06 03:42:07 momjian Exp $
- *
+ * $Id: lselect.h,v 1.5 1997/09/07 05:02:38 momjian Exp $
+ *
*-------------------------------------------------------------------------
*/
-#ifndef LSELECT_H
-#define LSELECT_H
+#ifndef LSELECT_H
+#define LSELECT_H
#include <stdio.h>
#include "access/htup.h"
-struct leftist {
- short lt_dist; /* distance to leaf/empty node */
- short lt_devnum; /* device number of tuple */
- HeapTuple lt_tuple;
- struct leftist *lt_left;
- struct leftist *lt_right;
+struct leftist
+{
+ short lt_dist; /* distance to leaf/empty node */
+ short lt_devnum; /* device number of tuple */
+ HeapTuple lt_tuple;
+ struct leftist *lt_left;
+ struct leftist *lt_right;
};
/* replaces global variables in lselect.c to make it reentrant */
-typedef struct {
- TupleDesc tupDesc;
- int nKeys;
- ScanKey scanKeys;
- int sortMem; /* needed for psort */
-} LeftistContextData;
+typedef struct
+{
+ TupleDesc tupDesc;
+ int nKeys;
+ ScanKey scanKeys;
+ int sortMem; /* needed for psort */
+} LeftistContextData;
typedef LeftistContextData *LeftistContext;
-extern struct leftist *lmerge(struct leftist *pt, struct leftist *qt,
- LeftistContext context);
-extern HeapTuple gettuple(struct leftist **treep, short *devnum,
- LeftistContext context);
-extern void puttuple(struct leftist **treep, HeapTuple newtuple, short devnum,
- LeftistContext context);
-extern int tuplecmp(HeapTuple ltup, HeapTuple rtup, LeftistContext context);
+extern struct leftist *
+lmerge(struct leftist * pt, struct leftist * qt,
+ LeftistContext context);
+extern HeapTuple
+gettuple(struct leftist ** treep, short *devnum,
+ LeftistContext context);
+extern void
+puttuple(struct leftist ** treep, HeapTuple newtuple, short devnum,
+ LeftistContext context);
+extern int tuplecmp(HeapTuple ltup, HeapTuple rtup, LeftistContext context);
#ifdef EBUG
-extern void checktree(struct leftist *tree, LeftistContext context);
-extern int checktreer(struct leftist *tree, int level, LeftistContext context);
-#endif /* EBUG */
+extern void checktree(struct leftist * tree, LeftistContext context);
+extern int checktreer(struct leftist * tree, int level, LeftistContext context);
+
+#endif /* EBUG */
-#endif /* LSELECT_H */
+#endif /* LSELECT_H */
diff --git a/src/include/utils/lsyscache.h b/src/include/utils/lsyscache.h
index 82f465814e3..5abc26912cd 100644
--- a/src/include/utils/lsyscache.h
+++ b/src/include/utils/lsyscache.h
@@ -1,44 +1,44 @@
/*-------------------------------------------------------------------------
*
* lsyscache.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: lsyscache.h,v 1.3 1997/08/19 21:40:40 momjian Exp $
+ * $Id: lsyscache.h,v 1.4 1997/09/07 05:02:39 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef LSYSCACHE_H
-#define LSYSCACHE_H
+#ifndef LSYSCACHE_H
+#define LSYSCACHE_H
#include <access/attnum.h>
#include <access/htup.h>
-extern bool op_class(Oid opid, int32 opclass, Oid amopid);
-extern char *get_attname(Oid relid, AttrNumber attnum);
+extern bool op_class(Oid opid, int32 opclass, Oid amopid);
+extern char *get_attname(Oid relid, AttrNumber attnum);
extern AttrNumber get_attnum(Oid relid, char *attname);
-extern Oid get_atttype(Oid relid, AttrNumber attnum);
-extern bool get_attisset(Oid relid, char *attname);
+extern Oid get_atttype(Oid relid, AttrNumber attnum);
+extern bool get_attisset(Oid relid, char *attname);
extern RegProcedure get_opcode(Oid opid);
-extern char *get_opname(Oid opid);
-extern bool op_mergesortable(Oid opid, Oid ltype, Oid rtype,
- Oid *leftOp, Oid *rightOp);
-extern Oid op_hashjoinable(Oid opid, Oid ltype, Oid rtype);
-extern Oid get_commutator(Oid opid);
+extern char *get_opname(Oid opid);
+extern bool
+op_mergesortable(Oid opid, Oid ltype, Oid rtype,
+ Oid * leftOp, Oid * rightOp);
+extern Oid op_hashjoinable(Oid opid, Oid ltype, Oid rtype);
+extern Oid get_commutator(Oid opid);
extern HeapTuple get_operator_tuple(Oid opno);
-extern Oid get_negator(Oid opid);
+extern Oid get_negator(Oid opid);
extern RegProcedure get_oprrest(Oid opid);
extern RegProcedure get_oprjoin(Oid opid);
-extern int get_relnatts(Oid relid);
-extern char *get_rel_name(Oid relid);
-extern struct varlena * get_relstub(Oid relid, int no, bool *islast);
-extern Oid get_ruleid(char *rulename);
-extern Oid get_eventrelid(Oid ruleid);
-extern int16 get_typlen(Oid typid);
-extern bool get_typbyval(Oid typid);
+extern int get_relnatts(Oid relid);
+extern char *get_rel_name(Oid relid);
+extern struct varlena *get_relstub(Oid relid, int no, bool * islast);
+extern Oid get_ruleid(char *rulename);
+extern Oid get_eventrelid(Oid ruleid);
+extern int16 get_typlen(Oid typid);
+extern bool get_typbyval(Oid typid);
extern struct varlena *get_typdefault(Oid typid);
-#endif /* LSYSCACHE_H */
-
+#endif /* LSYSCACHE_H */
diff --git a/src/include/utils/mcxt.h b/src/include/utils/mcxt.h
index 9d0b649f40e..b7dfcc7cda6 100644
--- a/src/include/utils/mcxt.h
+++ b/src/include/utils/mcxt.h
@@ -1,51 +1,52 @@
/*-------------------------------------------------------------------------
*
* mcxt.h--
- * POSTGRES memory context definitions.
+ * POSTGRES memory context definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: mcxt.h,v 1.5 1997/08/19 21:40:41 momjian Exp $
+ * $Id: mcxt.h,v 1.6 1997/09/07 05:02:40 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef MCXT_H
+#ifndef MCXT_H
#define MCXT_H
#include <nodes/memnodes.h>
-extern MemoryContext CurrentMemoryContext;
-extern MemoryContext TopMemoryContext;
+extern MemoryContext CurrentMemoryContext;
+extern MemoryContext TopMemoryContext;
/*
* MaxAllocSize --
- * Arbitrary limit on size of allocations.
+ * Arbitrary limit on size of allocations.
*
* Note:
- * There is no guarantee that allocations smaller than MaxAllocSize
- * will succeed. Allocation requests larger than MaxAllocSize will
- * be summarily denied.
+ * There is no guarantee that allocations smaller than MaxAllocSize
+ * will succeed. Allocation requests larger than MaxAllocSize will
+ * be summarily denied.
*
- * This value should not be referenced except in one place in the code.
+ * This value should not be referenced except in one place in the code.
*
* XXX This should be defined in a file of tunable constants.
*/
-#define MaxAllocSize (0xfffffff) /* 16G - 1 */
+#define MaxAllocSize (0xfffffff) /* 16G - 1 */
/*
* prototypes for functions in mcxt.c
*/
-extern void EnableMemoryContext(bool on);
-extern Pointer MemoryContextAlloc(MemoryContext context, Size size);
-extern Pointer MemoryContextRealloc(MemoryContext context,
- Pointer pointer,
- Size size);
-extern void MemoryContextFree(MemoryContext context, Pointer pointer);
+extern void EnableMemoryContext(bool on);
+extern Pointer MemoryContextAlloc(MemoryContext context, Size size);
+extern Pointer
+MemoryContextRealloc(MemoryContext context,
+ Pointer pointer,
+ Size size);
+extern void MemoryContextFree(MemoryContext context, Pointer pointer);
extern MemoryContext MemoryContextSwitchTo(MemoryContext context);
extern GlobalMemory CreateGlobalMemory(char *name);
-extern void GlobalMemoryDestroy(GlobalMemory context);
+extern void GlobalMemoryDestroy(GlobalMemory context);
-#endif /* MCXT_H */
+#endif /* MCXT_H */
diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index 01dfc067970..b87c331a1d7 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -1,25 +1,25 @@
/*-------------------------------------------------------------------------
*
* memutils.h--
- * this file contains general memory alignment, allocation
- * and manipulation stuff that used to be spread out
- * between the following files:
+ * this file contains general memory alignment, allocation
+ * and manipulation stuff that used to be spread out
+ * between the following files:
*
- * align.h alignment macros
- * aset.h memory allocation set stuff
- * oset.h (used by aset.h)
- * (bit.h bit array type / extern)
- * clib.h mem routines
- * limit.h max bits/byte, etc.
+ * align.h alignment macros
+ * aset.h memory allocation set stuff
+ * oset.h (used by aset.h)
+ * (bit.h bit array type / extern)
+ * clib.h mem routines
+ * limit.h max bits/byte, etc.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: memutils.h,v 1.8 1997/08/20 14:54:35 momjian Exp $
+ * $Id: memutils.h,v 1.9 1997/09/07 05:02:42 momjian Exp $
*
* NOTES
- * some of the information in this file will be moved to
- * other files, (like MaxHeapTupleSize and MaxAttributeSize).
+ * some of the information in this file will be moved to
+ * other files, (like MaxHeapTupleSize and MaxAttributeSize).
*
*-------------------------------------------------------------------------
*/
@@ -29,238 +29,245 @@
#ifdef NOT_USED
/*****************************************************************************
- * align.h - alignment macros *
+ * align.h - alignment macros *
****************************************************************************
- [TRH] Let the compiler decide what alignment it uses instead of
+ [TRH] Let the compiler decide what alignment it uses instead of
tending
we know better.
GCC (at least v2.5.8 and up) has an __alignof__ keyword.
However, we cannot use it here since on some architectures it reports
just a _recommended_ alignment instead of the actual alignment used in
- padding structures (or at least, this is how I understand gcc's
+ padding structures (or at least, this is how I understand gcc's
s...)
So define a macro that gives us the _actual_ alignment inside a struct.
{{note: assumes that alignment size is always a power of 2.}}
*/
-#define _ALIGNSIZE(TYPE) offsetof(struct { char __c; TYPE __t;}, __t)
+#define _ALIGNSIZE(TYPE) offsetof(struct { char __c; TYPE __t;}, __t)
#define _ALIGN(TYPE, LEN) \
- (((long)(LEN) + (_ALIGNSIZE(TYPE) - 1)) & ~(_ALIGNSIZE(TYPE) - 1))
-#define SHORTALIGN(LEN) _ALIGN(short, (LEN))
-#define INTALIGN(LEN) _ALIGN(int, (LEN))
-#define LONGALIGN(LEN) _ALIGN(long, (LEN))
-#define DOUBLEALIGN(LEN) _ALIGN(double, (LEN))
-#define MAXALIGN(LEN) _ALIGN(double, (LEN))
+ (((long)(LEN) + (_ALIGNSIZE(TYPE) - 1)) & ~(_ALIGNSIZE(TYPE) - 1))
+#define SHORTALIGN(LEN) _ALIGN(short, (LEN))
+#define INTALIGN(LEN) _ALIGN(int, (LEN))
+#define LONGALIGN(LEN) _ALIGN(long, (LEN))
+#define DOUBLEALIGN(LEN) _ALIGN(double, (LEN))
+#define MAXALIGN(LEN) _ALIGN(double, (LEN))
-#endif /* 0 */
+#endif /* 0 */
/*
- * SHORTALIGN(LEN) - length (or address) aligned for shorts
+ * SHORTALIGN(LEN) - length (or address) aligned for shorts
*/
-#define SHORTALIGN(LEN)\
- (((long)(LEN) + (sizeof (short) - 1)) & ~(sizeof (short) - 1))
+#define SHORTALIGN(LEN)\
+ (((long)(LEN) + (sizeof (short) - 1)) & ~(sizeof (short) - 1))
#define INTALIGN(LEN)\
- (((long)(LEN) + (sizeof (int) - 1)) & ~(sizeof (int) -1))
+ (((long)(LEN) + (sizeof (int) - 1)) & ~(sizeof (int) -1))
/*
- * LONGALIGN(LEN) - length (or address) aligned for longs
+ * LONGALIGN(LEN) - length (or address) aligned for longs
*/
#if defined(sun) && ! defined(sparc)
-#define LONGALIGN(LEN) SHORTALIGN(LEN)
+#define LONGALIGN(LEN) SHORTALIGN(LEN)
#elif defined (alpha) || defined(linuxalpha)
- /* even though "long alignment" should really be on 8-byte boundaries
- * for linuxalpha, we want the strictest alignment to be on 4-byte (int)
- * boundaries, because otherwise things break when they try to use the
- * FormData_pg_* structures. --djm 12/12/96
- */
-#define LONGALIGN(LEN)\
- (((long)(LEN) + (sizeof (int) - 1)) & ~(sizeof (int) -1))
+
+ /*
+ * even though "long alignment" should really be on 8-byte boundaries for
+ * linuxalpha, we want the strictest alignment to be on 4-byte (int)
+ * boundaries, because otherwise things break when they try to use the
+ * FormData_pg_* structures. --djm 12/12/96
+ */
+#define LONGALIGN(LEN)\
+ (((long)(LEN) + (sizeof (int) - 1)) & ~(sizeof (int) -1))
#else
-#define LONGALIGN(LEN)\
- (((long)(LEN) + (sizeof (long) - 1)) & ~(sizeof (long) -1))
+#define LONGALIGN(LEN)\
+ (((long)(LEN) + (sizeof (long) - 1)) & ~(sizeof (long) -1))
#endif
#define DOUBLEALIGN(LEN)\
- (((long)(LEN) + (sizeof (double) - 1)) & ~(sizeof (double) -1))
+ (((long)(LEN) + (sizeof (double) - 1)) & ~(sizeof (double) -1))
#define MAXALIGN(LEN)\
- (((long)(LEN) + (sizeof (double) - 1)) & ~(sizeof (double) -1))
+ (((long)(LEN) + (sizeof (double) - 1)) & ~(sizeof (double) -1))
/*****************************************************************************
- * oset.h -- Fixed format ordered set definitions. *
+ * oset.h -- Fixed format ordered set definitions. *
*****************************************************************************/
/* Note:
- * Fixed format ordered sets are <EXPLAIN>.
- * XXX This is a preliminary version. Work is needed to explain
- * XXX semantics of the external definitions. Otherwise, the
- * XXX functional interface should not change.
+ * Fixed format ordered sets are <EXPLAIN>.
+ * XXX This is a preliminary version. Work is needed to explain
+ * XXX semantics of the external definitions. Otherwise, the
+ * XXX functional interface should not change.
*
*/
typedef struct OrderedElemData OrderedElemData;
-typedef OrderedElemData* OrderedElem;
+typedef OrderedElemData *OrderedElem;
typedef struct OrderedSetData OrderedSetData;
-typedef OrderedSetData* OrderedSet;
+typedef OrderedSetData *OrderedSet;
-struct OrderedElemData {
- OrderedElem next; /* Next elem or &this->set->dummy */
- OrderedElem prev; /* Previous elem or &this->set->head */
- OrderedSet set; /* Parent set */
+struct OrderedElemData
+{
+ OrderedElem next; /* Next elem or &this->set->dummy */
+ OrderedElem prev; /* Previous elem or &this->set->head */
+ OrderedSet set; /* Parent set */
};
-struct OrderedSetData {
- OrderedElem head; /* First elem or &this->dummy */
- OrderedElem dummy; /* (hack) Terminator == NULL */
- OrderedElem tail; /* Last elem or &this->head */
- Offset offset; /* Offset from struct base to elem */
- /* this could be signed short int! */
+struct OrderedSetData
+{
+ OrderedElem head; /* First elem or &this->dummy */
+ OrderedElem dummy; /* (hack) Terminator == NULL */
+ OrderedElem tail; /* Last elem or &this->head */
+ Offset offset; /* Offset from struct base to elem */
+ /* this could be signed short int! */
};
-extern void OrderedSetInit(OrderedSet set, Offset offset);
-extern bool OrderedSetContains(OrderedSet set, OrderedElem elem);
-extern Pointer OrderedSetGetHead(OrderedSet set);
-extern Pointer OrderedElemGetPredecessor(OrderedElem elem);
-extern Pointer OrderedElemGetSuccessor(OrderedElem elem);
-extern void OrderedElemPop(OrderedElem elem);
-extern void OrderedElemPushInto(OrderedElem elem, OrderedSet Set);
+extern void OrderedSetInit(OrderedSet set, Offset offset);
+extern bool OrderedSetContains(OrderedSet set, OrderedElem elem);
+extern Pointer OrderedSetGetHead(OrderedSet set);
+extern Pointer OrderedElemGetPredecessor(OrderedElem elem);
+extern Pointer OrderedElemGetSuccessor(OrderedElem elem);
+extern void OrderedElemPop(OrderedElem elem);
+extern void OrderedElemPushInto(OrderedElem elem, OrderedSet Set);
/*****************************************************************************
- * aset.h -- Allocation set definitions. *
+ * aset.h -- Allocation set definitions. *
*****************************************************************************/
/*
* Description:
- * An allocation set is a set containing allocated elements. When
- * an allocation is requested for a set, memory is allocated and a
- * pointer is returned. Subsequently, this memory may be freed or
- * reallocated. In addition, an allocation set may be reset which
- * will cause all allocated memory to be freed.
+ * An allocation set is a set containing allocated elements. When
+ * an allocation is requested for a set, memory is allocated and a
+ * pointer is returned. Subsequently, this memory may be freed or
+ * reallocated. In addition, an allocation set may be reset which
+ * will cause all allocated memory to be freed.
*
- * Allocations may occur in four different modes. The mode of
- * allocation does not affect the behavior of allocations except in
- * terms of performance. The allocation mode is set at the time of
- * set initialization. Once the mode is chosen, it cannot be changed
- * unless the set is reinitialized.
+ * Allocations may occur in four different modes. The mode of
+ * allocation does not affect the behavior of allocations except in
+ * terms of performance. The allocation mode is set at the time of
+ * set initialization. Once the mode is chosen, it cannot be changed
+ * unless the set is reinitialized.
*
- * "Dynamic" mode forces all allocations to occur in a heap. This
- * is a good mode to use when small memory segments are allocated
- * and freed very frequently. This is a good choice when allocation
- * characteristics are unknown. This is the default mode.
+ * "Dynamic" mode forces all allocations to occur in a heap. This
+ * is a good mode to use when small memory segments are allocated
+ * and freed very frequently. This is a good choice when allocation
+ * characteristics are unknown. This is the default mode.
*
- * "Static" mode attemts to allocate space as efficiently as possible
- * without regard to freeing memory. This mode should be chosen only
- * when it is known that many allocations will occur but that very
- * little of the allocated memory will be explicitly freed.
+ * "Static" mode attemts to allocate space as efficiently as possible
+ * without regard to freeing memory. This mode should be chosen only
+ * when it is known that many allocations will occur but that very
+ * little of the allocated memory will be explicitly freed.
*
- * "Tunable" mode is a hybrid of dynamic and static modes. The
- * tunable mode will use static mode allocation except when the
- * allocation request exceeds a size limit supplied at the time of set
- * initialization. "Big" objects are allocated using dynamic mode.
+ * "Tunable" mode is a hybrid of dynamic and static modes. The
+ * tunable mode will use static mode allocation except when the
+ * allocation request exceeds a size limit supplied at the time of set
+ * initialization. "Big" objects are allocated using dynamic mode.
*
- * "Bounded" mode attempts to allocate space efficiently given a limit
- * on space consumed by the allocation set. This restriction can be
- * considered a "soft" restriction, because memory segments will
- * continue to be returned after the limit is exceeded. The limit is
- * specified at the time of set initialization like for tunable mode.
+ * "Bounded" mode attempts to allocate space efficiently given a limit
+ * on space consumed by the allocation set. This restriction can be
+ * considered a "soft" restriction, because memory segments will
+ * continue to be returned after the limit is exceeded. The limit is
+ * specified at the time of set initialization like for tunable mode.
*
* Note:
- * Allocation sets are not automatically reset on a system reset.
- * Higher level code is responsible for cleaning up.
+ * Allocation sets are not automatically reset on a system reset.
+ * Higher level code is responsible for cleaning up.
*
- * There may other modes in the future.
+ * There may other modes in the future.
*/
/*
* AllocPointer --
- * Aligned pointer which may be a member of an allocation set.
+ * Aligned pointer which may be a member of an allocation set.
*/
typedef Pointer AllocPointer;
/*
* AllocMode --
- * Mode of allocation for an allocation set.
+ * Mode of allocation for an allocation set.
*
* Note:
- * See above for a description of the various nodes.
+ * See above for a description of the various nodes.
*/
-typedef enum AllocMode {
- DynamicAllocMode, /* always dynamically allocate */
- StaticAllocMode, /* always "statically" allocate */
- TunableAllocMode, /* allocations are "tuned" */
- BoundedAllocMode /* allocations bounded to fixed usage */
-} AllocMode;
+typedef enum AllocMode
+{
+ DynamicAllocMode, /* always dynamically allocate */
+ StaticAllocMode, /* always "statically" allocate */
+ TunableAllocMode, /* allocations are "tuned" */
+ BoundedAllocMode /* allocations bounded to fixed usage */
+} AllocMode;
-#define DefaultAllocMode DynamicAllocMode
+#define DefaultAllocMode DynamicAllocMode
/*
* AllocSet --
- * Allocation set.
+ * Allocation set.
*/
-typedef struct AllocSetData {
- OrderedSetData setData;
+typedef struct AllocSetData
+{
+ OrderedSetData setData;
/* Note: this will change in the future to support other modes */
-} AllocSetData;
+} AllocSetData;
typedef AllocSetData *AllocSet;
/*
* AllocPointerIsValid --
- * True iff pointer is valid allocation pointer.
+ * True iff pointer is valid allocation pointer.
*/
#define AllocPointerIsValid(pointer) PointerIsValid(pointer)
/*
* AllocSetIsValid --
- * True iff set is valid allocation set.
+ * True iff set is valid allocation set.
*/
-#define AllocSetIsValid(set) PointerIsValid(set)
+#define AllocSetIsValid(set) PointerIsValid(set)
-extern void AllocSetInit(AllocSet set, AllocMode mode, Size limit);
+extern void AllocSetInit(AllocSet set, AllocMode mode, Size limit);
-extern void AllocSetReset(AllocSet set);
+extern void AllocSetReset(AllocSet set);
-extern bool AllocSetContains(AllocSet set, AllocPointer pointer);
+extern bool AllocSetContains(AllocSet set, AllocPointer pointer);
extern AllocPointer AllocSetAlloc(AllocSet set, Size size);
-extern void AllocSetFree(AllocSet set, AllocPointer pointer);
-extern AllocPointer AllocSetRealloc(AllocSet set, AllocPointer pointer,
- Size size);
+extern void AllocSetFree(AllocSet set, AllocPointer pointer);
+extern AllocPointer
+AllocSetRealloc(AllocSet set, AllocPointer pointer,
+ Size size);
-extern void AllocSetDump(AllocSet set);
+extern void AllocSetDump(AllocSet set);
/*****************************************************************************
- * clib.h -- Standard C library definitions *
+ * clib.h -- Standard C library definitions *
*****************************************************************************/
/*
* Note:
- * This file is OPERATING SYSTEM dependent!!!
+ * This file is OPERATING SYSTEM dependent!!!
*
*/
-/*
- * LibCCopyLength is only used within this file. -cim 6/12/90
- *
+/*
+ * LibCCopyLength is only used within this file. -cim 6/12/90
+ *
*/
-typedef int LibCCopyLength;
+typedef int LibCCopyLength;
/*
* MemoryCopy --
- * Copies fixed length block of memory to another.
+ * Copies fixed length block of memory to another.
*/
#define MemoryCopy(toBuffer, fromBuffer, length)\
- memcpy(toBuffer, fromBuffer, length)
+ memcpy(toBuffer, fromBuffer, length)
/*****************************************************************************
- * limit.h -- POSTGRES limit definitions. *
+ * limit.h -- POSTGRES limit definitions. *
*****************************************************************************/
#define MaxBitsPerByte 8
typedef uint32 AttributeSize; /* XXX should be defined elsewhere */
-#define MaxHeapTupleSize 0x7fffffff
-#define MaxAttributeSize 0x7fffffff
+#define MaxHeapTupleSize 0x7fffffff
+#define MaxAttributeSize 0x7fffffff
-#define MaxIndexAttributeNumber 7
+#define MaxIndexAttributeNumber 7
-#endif /* MEMUTILS_H */
+#endif /* MEMUTILS_H */
diff --git a/src/include/utils/module.h b/src/include/utils/module.h
index 6c5d77d6ada..cadff1aa6c3 100644
--- a/src/include/utils/module.h
+++ b/src/include/utils/module.h
@@ -1,25 +1,25 @@
/*-------------------------------------------------------------------------
*
* module.h--
- * this file contains general "module" stuff that used to be
- * spread out between the following files:
+ * this file contains general "module" stuff that used to be
+ * spread out between the following files:
*
- * enbl.h module enable stuff
- * trace.h module trace stuff (now gone)
+ * enbl.h module enable stuff
+ * trace.h module trace stuff (now gone)
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: module.h,v 1.1 1996/08/28 01:59:12 scrappy Exp $
+ * $Id: module.h,v 1.2 1997/09/07 05:02:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef MODULE_H
#define MODULE_H
-/*
- * prototypes for functions in init/enbl.c
+/*
+ * prototypes for functions in init/enbl.c
*/
-extern bool BypassEnable(int *enableCountInOutP, bool on);
+extern bool BypassEnable(int *enableCountInOutP, bool on);
-#endif /* MODULE_H */
+#endif /* MODULE_H */
diff --git a/src/include/utils/nabstime.h b/src/include/utils/nabstime.h
index 4db0fefa50c..5372501bcb0 100644
--- a/src/include/utils/nabstime.h
+++ b/src/include/utils/nabstime.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* nabstime.h--
- * Definitions for the "new" abstime code.
+ * Definitions for the "new" abstime code.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: nabstime.h,v 1.10 1997/08/19 21:40:47 momjian Exp $
+ * $Id: nabstime.h,v 1.11 1997/09/07 05:02:46 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@
/* ----------------------------------------------------------------
- * time types + support macros
+ * time types + support macros
*
*
* ----------------------------------------------------------------
@@ -26,92 +26,98 @@
typedef int32 AbsoluteTime;
typedef int32 RelativeTime;
-typedef struct {
- int32 status;
- AbsoluteTime data[2];
-} TimeIntervalData;
+typedef struct
+{
+ int32 status;
+ AbsoluteTime data[2];
+} TimeIntervalData;
typedef TimeIntervalData *TimeInterval;
/*
* Reserved values
* Epoch is Unix system time zero, but needs to be kept as a reserved
- * value rather than converting to time since timezone calculations
- * might move it away from 1970-01-01 00:00:00Z - tgl 97/02/20
+ * value rather than converting to time since timezone calculations
+ * might move it away from 1970-01-01 00:00:00Z - tgl 97/02/20
*
* Pre-v6.1 code had large decimal numbers for reserved values.
* These were chosen as special 32-bit bit patterns,
- * so redefine them explicitly using these bit patterns. - tgl 97/02/24
+ * so redefine them explicitly using these bit patterns. - tgl 97/02/24
*/
#define EPOCH_ABSTIME ((AbsoluteTime) 0)
-#define INVALID_ABSTIME ((AbsoluteTime) 0x7FFFFFFE) /* 2147483647 == 2^31 - 1 */
-#define CURRENT_ABSTIME ((AbsoluteTime) 0x7FFFFFFD) /* 2147483646 == 2^31 - 2 */
-#define NOEND_ABSTIME ((AbsoluteTime) 0x7FFFFFFC) /* 2147483645 == 2^31 - 3 */
-#define BIG_ABSTIME ((AbsoluteTime) 0x7FFFFFFB) /* 2147483644 == 2^31 - 4 */
+#define INVALID_ABSTIME ((AbsoluteTime) 0x7FFFFFFE) /* 2147483647 == 2^31 -
+ * 1 */
+#define CURRENT_ABSTIME ((AbsoluteTime) 0x7FFFFFFD) /* 2147483646 == 2^31 -
+ * 2 */
+#define NOEND_ABSTIME ((AbsoluteTime) 0x7FFFFFFC) /* 2147483645 == 2^31 -
+ * 3 */
+#define BIG_ABSTIME ((AbsoluteTime) 0x7FFFFFFB) /* 2147483644 == 2^31 -
+ * 4 */
#if defined(aix)
/*
* AIX considers 2147483648 == -2147483648 (since they have the same bit
- * representation) but uses a different sign sense in a comparison to
- * these integer constants depending on whether the constant is signed
+ * representation) but uses a different sign sense in a comparison to
+ * these integer constants depending on whether the constant is signed
* or not!
*/
-#define NOSTART_ABSTIME ((AbsoluteTime) INT_MIN)
+#define NOSTART_ABSTIME ((AbsoluteTime) INT_MIN)
#else
-#define NOSTART_ABSTIME ((AbsoluteTime) 0x80000001) /* -2147483647 == - 2^31 */
-#endif /* aix */
+#define NOSTART_ABSTIME ((AbsoluteTime) 0x80000001) /* -2147483647 == - 2^31 */
+#endif /* aix */
-#define INVALID_RELTIME ((RelativeTime) 0x7FFFFFFE) /* 2147483647 == 2^31 - 1 */
+#define INVALID_RELTIME ((RelativeTime) 0x7FFFFFFE) /* 2147483647 == 2^31 -
+ * 1 */
#define AbsoluteTimeIsValid(time) \
- ((bool) ((time) != INVALID_ABSTIME))
+ ((bool) ((time) != INVALID_ABSTIME))
#define AbsoluteTimeIsReal(time) \
- ((bool) (((AbsoluteTime) time) < NOEND_ABSTIME && \
- ((AbsoluteTime) time) > NOSTART_ABSTIME))
+ ((bool) (((AbsoluteTime) time) < NOEND_ABSTIME && \
+ ((AbsoluteTime) time) > NOSTART_ABSTIME))
/* have to include this because EPOCH_ABSTIME used to be invalid - yuk */
#define AbsoluteTimeIsBackwardCompatiblyValid(time) \
- ((bool) (((AbsoluteTime) time) != INVALID_ABSTIME && \
- ((AbsoluteTime) time) > EPOCH_ABSTIME))
+ ((bool) (((AbsoluteTime) time) != INVALID_ABSTIME && \
+ ((AbsoluteTime) time) > EPOCH_ABSTIME))
#define AbsoluteTimeIsBackwardCompatiblyReal(time) \
- ((bool) (((AbsoluteTime) time) < NOEND_ABSTIME && \
- ((AbsoluteTime) time) > NOSTART_ABSTIME && \
- ((AbsoluteTime) time) > EPOCH_ABSTIME))
+ ((bool) (((AbsoluteTime) time) < NOEND_ABSTIME && \
+ ((AbsoluteTime) time) > NOSTART_ABSTIME && \
+ ((AbsoluteTime) time) > EPOCH_ABSTIME))
#define RelativeTimeIsValid(time) \
- ((bool) (((RelativeTime) time) != INVALID_RELTIME))
+ ((bool) (((RelativeTime) time) != INVALID_RELTIME))
extern AbsoluteTime GetCurrentAbsoluteTime(void);
/*
* getSystemTime --
- * Returns system time.
+ * Returns system time.
*/
#define getSystemTime() \
- ((time_t) (time(0l)))
+ ((time_t) (time(0l)))
/*
- * nabstime.c prototypes
+ * nabstime.c prototypes
*/
extern AbsoluteTime nabstimein(char *timestr);
-extern char *nabstimeout(AbsoluteTime time);
+extern char *nabstimeout(AbsoluteTime time);
-extern bool abstimeeq(AbsoluteTime t1, AbsoluteTime t2);
-extern bool abstimene(AbsoluteTime t1, AbsoluteTime t2);
-extern bool abstimelt(AbsoluteTime t1, AbsoluteTime t2);
-extern bool abstimegt(AbsoluteTime t1, AbsoluteTime t2);
-extern bool abstimele(AbsoluteTime t1, AbsoluteTime t2);
-extern bool abstimege(AbsoluteTime t1, AbsoluteTime t2);
-extern bool abstime_finite(AbsoluteTime time);
+extern bool abstimeeq(AbsoluteTime t1, AbsoluteTime t2);
+extern bool abstimene(AbsoluteTime t1, AbsoluteTime t2);
+extern bool abstimelt(AbsoluteTime t1, AbsoluteTime t2);
+extern bool abstimegt(AbsoluteTime t1, AbsoluteTime t2);
+extern bool abstimele(AbsoluteTime t1, AbsoluteTime t2);
+extern bool abstimege(AbsoluteTime t1, AbsoluteTime t2);
+extern bool abstime_finite(AbsoluteTime time);
-extern AbsoluteTime datetime_abstime(DateTime *datetime);
+extern AbsoluteTime datetime_abstime(DateTime * datetime);
extern DateTime *abstime_datetime(AbsoluteTime abstime);
-extern bool AbsoluteTimeIsBefore(AbsoluteTime time1, AbsoluteTime time2);
-extern bool AbsoluteTimeIsAfter(AbsoluteTime time1, AbsoluteTime time2);
+extern bool AbsoluteTimeIsBefore(AbsoluteTime time1, AbsoluteTime time2);
+extern bool AbsoluteTimeIsAfter(AbsoluteTime time1, AbsoluteTime time2);
-extern void abstime2tm(AbsoluteTime time, int *tzp, struct tm *tm, char *tzn);
+extern void abstime2tm(AbsoluteTime time, int *tzp, struct tm * tm, char *tzn);
-#endif /* NABSTIME_H */
+#endif /* NABSTIME_H */
diff --git a/src/include/utils/oidcompos.h b/src/include/utils/oidcompos.h
index 290fb08ee65..f4980051f05 100644
--- a/src/include/utils/oidcompos.h
+++ b/src/include/utils/oidcompos.h
@@ -1,52 +1,52 @@
/*-------------------------------------------------------------------------
*
* oidcompos.h--
- * prototype file for the oid {char16,int4} composite type functions.
+ * prototype file for the oid {char16,int4} composite type functions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: oidcompos.h,v 1.1 1996/08/28 01:59:15 scrappy Exp $
+ * $Id: oidcompos.h,v 1.2 1997/09/07 05:02:47 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef OIDCOMPOS_H
+#ifndef OIDCOMPOS_H
#define OIDCOMPOS_H
/* oidint4.c */
-OidInt4 oidint4in(char *o);
-char *oidint4out(OidInt4 o);
-bool oidint4lt(OidInt4 o1, OidInt4 o2);
-bool oidint4le(OidInt4 o1, OidInt4 o2);
-bool oidint4eq(OidInt4 o1, OidInt4 o2);
-bool oidint4ge(OidInt4 o1, OidInt4 o2);
-bool oidint4gt(OidInt4 o1, OidInt4 o2);
-bool oidint4ne(OidInt4 o1, OidInt4 o2);
-int oidint4cmp(OidInt4 o1, OidInt4 o2);
-OidInt4 mkoidint4(Oid v_oid, uint32 v_int4);
+OidInt4 oidint4in(char *o);
+char *oidint4out(OidInt4 o);
+bool oidint4lt(OidInt4 o1, OidInt4 o2);
+bool oidint4le(OidInt4 o1, OidInt4 o2);
+bool oidint4eq(OidInt4 o1, OidInt4 o2);
+bool oidint4ge(OidInt4 o1, OidInt4 o2);
+bool oidint4gt(OidInt4 o1, OidInt4 o2);
+bool oidint4ne(OidInt4 o1, OidInt4 o2);
+int oidint4cmp(OidInt4 o1, OidInt4 o2);
+OidInt4 mkoidint4(Oid v_oid, uint32 v_int4);
/* oidint2.c */
-OidInt2 oidint2in(char *o);
-char *oidint2out(OidInt2 o);
-bool oidint2lt(OidInt2 o1, OidInt2 o2);
-bool oidint2le(OidInt2 o1, OidInt2 o2);
-bool oidint2eq(OidInt2 o1, OidInt2 o2);
-bool oidint2ge(OidInt2 o1, OidInt2 o2);
-bool oidint2gt(OidInt2 o1, OidInt2 o2);
-bool oidint2ne(OidInt2 o1, OidInt2 o2);
-int oidint2cmp(OidInt2 o1, OidInt2 o2);
-OidInt2 mkoidint2(Oid v_oid, uint16 v_int2);
+OidInt2 oidint2in(char *o);
+char *oidint2out(OidInt2 o);
+bool oidint2lt(OidInt2 o1, OidInt2 o2);
+bool oidint2le(OidInt2 o1, OidInt2 o2);
+bool oidint2eq(OidInt2 o1, OidInt2 o2);
+bool oidint2ge(OidInt2 o1, OidInt2 o2);
+bool oidint2gt(OidInt2 o1, OidInt2 o2);
+bool oidint2ne(OidInt2 o1, OidInt2 o2);
+int oidint2cmp(OidInt2 o1, OidInt2 o2);
+OidInt2 mkoidint2(Oid v_oid, uint16 v_int2);
/* oidname.c */
-OidName oidnamein(char *inStr);
-char *oidnameout(OidName oidname);
-bool oidnamelt(OidName o1, OidName o2);
-bool oidnamele(OidName o1, OidName o2);
-bool oidnameeq(OidName o1, OidName o2);
-bool oidnamene(OidName o1, OidName o2);
-bool oidnamege(OidName o1, OidName o2);
-bool oidnamegt(OidName o1, OidName o2);
-int oidnamecmp(OidName o1, OidName o2);
-OidName mkoidname(Oid id, char *name);
+OidName oidnamein(char *inStr);
+char *oidnameout(OidName oidname);
+bool oidnamelt(OidName o1, OidName o2);
+bool oidnamele(OidName o1, OidName o2);
+bool oidnameeq(OidName o1, OidName o2);
+bool oidnamene(OidName o1, OidName o2);
+bool oidnamege(OidName o1, OidName o2);
+bool oidnamegt(OidName o1, OidName o2);
+int oidnamecmp(OidName o1, OidName o2);
+OidName mkoidname(Oid id, char *name);
-#endif /* OIDCOMPOS_H */
+#endif /* OIDCOMPOS_H */
diff --git a/src/include/utils/palloc.h b/src/include/utils/palloc.h
index 02c7b9ab257..b4a35db9795 100644
--- a/src/include/utils/palloc.h
+++ b/src/include/utils/palloc.h
@@ -1,26 +1,25 @@
/*-------------------------------------------------------------------------
*
* palloc.h--
- * POSTGRES memory allocator definitions.
+ * POSTGRES memory allocator definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: palloc.h,v 1.3 1996/11/26 03:20:23 bryanh Exp $
+ * $Id: palloc.h,v 1.4 1997/09/07 05:02:49 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef PALLOC_H
+#ifndef PALLOC_H
#define PALLOC_H
#include <c.h>
-extern void* palloc(Size size);
-extern void pfree(void *pointer);
-extern void *repalloc(void *pointer, Size size);
+extern void *palloc(Size size);
+extern void pfree(void *pointer);
+extern void *repalloc(void *pointer, Size size);
/* like strdup except uses palloc */
-extern char* pstrdup(char* pointer);
-
-#endif /* PALLOC_H */
+extern char *pstrdup(char *pointer);
+#endif /* PALLOC_H */
diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h
index 49f907c3f0b..07edce974ef 100644
--- a/src/include/utils/portal.h
+++ b/src/include/utils/portal.h
@@ -1,28 +1,28 @@
/*-------------------------------------------------------------------------
*
* portal.h--
- * POSTGRES portal definitions.
+ * POSTGRES portal definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: portal.h,v 1.4 1997/08/19 21:40:48 momjian Exp $
+ * $Id: portal.h,v 1.5 1997/09/07 05:02:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
/*
* Note:
- * A portal is an abstraction which represents the execution state of
+ * A portal is an abstraction which represents the execution state of
* a running query (or a fixed sequence of queries). The "blank portal" is
* a portal with an InvalidName. This blank portal is in existance except
* between calls to BlankPortalAssignName and GetPortalByName(NULL).
*
* Note:
- * now that PQ calls can be made from within a backend, a portal
- * may also be used to keep track of the tuples resulting
- * from the execution of a query. In this case, entryIndex
+ * now that PQ calls can be made from within a backend, a portal
+ * may also be used to keep track of the tuples resulting
+ * from the execution of a query. In this case, entryIndex
*/
-#ifndef PORTAL_H
+#ifndef PORTAL_H
#define PORTAL_H
#include <executor/execdesc.h>
@@ -30,58 +30,61 @@
#include <nodes/memnodes.h>
#include <utils/memutils.h>
-typedef struct PortalBlockData {
- AllocSetData setData;
- FixedItemData itemData;
-} PortalBlockData;
+typedef struct PortalBlockData
+{
+ AllocSetData setData;
+ FixedItemData itemData;
+} PortalBlockData;
-typedef PortalBlockData *PortalBlock;
+typedef PortalBlockData *PortalBlock;
-typedef struct PortalD PortalD;
-typedef PortalD *Portal;
+typedef struct PortalD PortalD;
+typedef PortalD *Portal;
-struct PortalD {
- char *name; /* XXX PortalName */
- struct PortalVariableMemory variable;
- struct PortalHeapMemory heap;
- QueryDesc *queryDesc;
- TupleDesc attinfo;
- EState *state;
- void (*cleanup)(Portal);
+struct PortalD
+{
+ char *name; /* XXX PortalName */
+ struct PortalVariableMemory variable;
+ struct PortalHeapMemory heap;
+ QueryDesc *queryDesc;
+ TupleDesc attinfo;
+ EState *state;
+ void (*cleanup) (Portal);
};
/*
* PortalIsValid --
- * True iff portal is valid.
+ * True iff portal is valid.
*/
-#define PortalIsValid(p) PointerIsValid(p)
+#define PortalIsValid(p) PointerIsValid(p)
/*
* Special portals (well, their names anyway)
*/
-#define VACPNAME "<vacuum>"
+#define VACPNAME "<vacuum>"
-extern bool PortalNameIsSpecial(char *pname);
-extern void AtEOXact_portals(void);
-extern void EnablePortalManager(bool on);
-extern Portal GetPortalByName(char *name);
-extern Portal BlankPortalAssignName(char *name);
-extern void PortalSetQuery(Portal portal, QueryDesc *queryDesc,
- TupleDesc attinfo, EState *state,
- void (*cleanup)(Portal portal));
+extern bool PortalNameIsSpecial(char *pname);
+extern void AtEOXact_portals(void);
+extern void EnablePortalManager(bool on);
+extern Portal GetPortalByName(char *name);
+extern Portal BlankPortalAssignName(char *name);
+extern void
+PortalSetQuery(Portal portal, QueryDesc * queryDesc,
+ TupleDesc attinfo, EState * state,
+ void (*cleanup) (Portal portal));
extern QueryDesc *PortalGetQueryDesc(Portal portal);
-extern EState *PortalGetState(Portal portal);
-extern Portal CreatePortal(char *name);
-extern void PortalDestroy(Portal *portalP);
-extern void StartPortalAllocMode(AllocMode mode, Size limit);
-extern void EndPortalAllocMode(void);
+extern EState *PortalGetState(Portal portal);
+extern Portal CreatePortal(char *name);
+extern void PortalDestroy(Portal * portalP);
+extern void StartPortalAllocMode(AllocMode mode, Size limit);
+extern void EndPortalAllocMode(void);
extern PortalVariableMemory PortalGetVariableMemory(Portal portal);
extern PortalHeapMemory PortalGetHeapMemory(Portal portal);
/* estimate of the maximum number of open portals a user would have,
- * used in initially sizing the PortalHashTable in EnablePortalManager()
+ * used in initially sizing the PortalHashTable in EnablePortalManager()
*/
-#define PORTALS_PER_USER 10
+#define PORTALS_PER_USER 10
-#endif /* PORTAL_H */
+#endif /* PORTAL_H */
diff --git a/src/include/utils/psort.h b/src/include/utils/psort.h
index d7f979c8ff7..fe5e0b2f357 100644
--- a/src/include/utils/psort.h
+++ b/src/include/utils/psort.h
@@ -1,67 +1,71 @@
/*-------------------------------------------------------------------------
*
* psort.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: psort.h,v 1.7 1997/08/19 21:40:48 momjian Exp $
+ * $Id: psort.h,v 1.8 1997/09/07 05:02:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef PSORT_H
-#define PSORT_H
+#ifndef PSORT_H
+#define PSORT_H
#include <stdio.h>
#include "access/relscan.h"
#include "utils/lselect.h"
#include "nodes/plannodes.h"
-#define MAXTAPES 7 /* 7--See Fig. 70, p273 */
-#define TAPEEXTLEN strlen("pg_psort.xxxxx.xxx") /* TEMPDIR/TAPEEXT */
-#define FREE(x) pfree((char *) x)
+#define MAXTAPES 7 /* 7--See Fig. 70, p273 */
+#define TAPEEXTLEN strlen("pg_psort.xxxxx.xxx") /* TEMPDIR/TAPEEXT */
+#define FREE(x) pfree((char *) x)
-struct tape {
- int tp_dummy; /* (D) */
- int tp_fib; /* (A) */
- FILE *tp_file; /* (TAPE) */
- struct tape *tp_prev;
+struct tape
+{
+ int tp_dummy; /* (D) */
+ int tp_fib; /* (A) */
+ FILE *tp_file; /* (TAPE) */
+ struct tape *tp_prev;
};
-struct cmplist {
- int cp_attn; /* attribute number */
- int cp_num; /* comparison function code */
- int cp_rev; /* invert comparison flag */
- struct cmplist *cp_next; /* next in chain */
+struct cmplist
+{
+ int cp_attn; /* attribute number */
+ int cp_num; /* comparison function code */
+ int cp_rev; /* invert comparison flag */
+ struct cmplist *cp_next; /* next in chain */
};
/* This structure preserves the state of psort between calls from different
* nodes to its interface functions. Basically, it includes all of the global
* variables in psort. In case you were wondering, pointers to these structures
- * are included in Sort node structures. -Rex 2.6.1995
+ * are included in Sort node structures. -Rex 2.6.1995
*/
-typedef struct Psortstate {
- LeftistContextData treeContext;
+typedef struct Psortstate
+{
+ LeftistContextData treeContext;
- int TapeRange;
- int Level;
- int TotalDummy;
- struct tape Tape[MAXTAPES];
+ int TapeRange;
+ int Level;
+ int TotalDummy;
+ struct tape Tape[MAXTAPES];
- int BytesRead;
- int BytesWritten;
- int tupcount;
+ int BytesRead;
+ int BytesWritten;
+ int tupcount;
- struct leftist *Tuples;
+ struct leftist *Tuples;
- FILE *psort_grab_file;
- long psort_current; /* could be file offset, or array index */
- long psort_saved; /* could be file offset, or array index */
- bool using_tape_files;
+ FILE *psort_grab_file;
+ long psort_current; /* could be file offset, or array
+ * index */
+ long psort_saved;/* could be file offset, or array index */
+ bool using_tape_files;
- HeapTuple *memtuples;
-} Psortstate;
+ HeapTuple *memtuples;
+} Psortstate;
#ifdef EBUG
#include <stdio.h>
@@ -69,36 +73,36 @@ typedef struct Psortstate {
#include "storage/buf.h"
#include "storage/bufmgr.h"
-#define PDEBUG(PROC, S1)\
+#define PDEBUG(PROC, S1)\
elog(DEBUG, "%s:%d>> PROC: %s.", __FILE__, __LINE__, S1)
-#define PDEBUG2(PROC, S1, D1)\
+#define PDEBUG2(PROC, S1, D1)\
elog(DEBUG, "%s:%d>> PROC: %s %d.", __FILE__, __LINE__, S1, D1)
-#define PDEBUG4(PROC, S1, D1, S2, D2)\
+#define PDEBUG4(PROC, S1, D1, S2, D2)\
elog(DEBUG, "%s:%d>> PROC: %s %d, %s %d.", __FILE__, __LINE__, S1, D1, S2, D2)
-#define VDEBUG(VAR, FMT)\
+#define VDEBUG(VAR, FMT)\
elog(DEBUG, "%s:%d>> VAR =FMT", __FILE__, __LINE__, VAR)
-#define ASSERT(EXPR, STR)\
+#define ASSERT(EXPR, STR)\
if (!(EXPR)) elog(FATAL, "%s:%d>> %s", __FILE__, __LINE__, STR)
-#define TRACE(VAL, CODE)\
+#define TRACE(VAL, CODE)\
if (1) CODE; else
#else
-#define PDEBUG(MSG)
-#define VDEBUG(VAR, FMT)
-#define ASSERT(EXPR, MSG)
-#define TRACE(VAL, CODE)
+#define PDEBUG(MSG)
+#define VDEBUG(VAR, FMT)
+#define ASSERT(EXPR, MSG)
+#define TRACE(VAL, CODE)
#endif
/* psort.c */
-extern bool psort_begin(Sort *node, int nkeys, ScanKey key);
-extern HeapTuple psort_grabtuple(Sort *node);
-extern void psort_markpos(Sort *node);
-extern void psort_restorepos(Sort *node);
-extern void psort_end(Sort *node);
+extern bool psort_begin(Sort * node, int nkeys, ScanKey key);
+extern HeapTuple psort_grabtuple(Sort * node);
+extern void psort_markpos(Sort * node);
+extern void psort_restorepos(Sort * node);
+extern void psort_end(Sort * node);
-#endif /* PSORT_H */
+#endif /* PSORT_H */
diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h
index 19f9ab138d2..31dcb7401ab 100644
--- a/src/include/utils/rel.h
+++ b/src/include/utils/rel.h
@@ -1,16 +1,16 @@
/*-------------------------------------------------------------------------
*
* rel.h--
- * POSTGRES relation descriptor definitions.
+ * POSTGRES relation descriptor definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: rel.h,v 1.9 1997/09/04 13:26:45 vadim Exp $
+ * $Id: rel.h,v 1.10 1997/09/07 05:02:54 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef REL_H
+#ifndef REL_H
#define REL_H
#include <catalog/pg_am.h>
@@ -20,134 +20,137 @@
#include <rewrite/prs2lock.h>
#include <storage/fd.h>
-typedef struct Trigger {
- char *tgname;
- Oid tgfoid;
- func_ptr tgfunc;
- int16 tgtype;
- int16 tgnargs;
- int16 tgattr[8];
- char **tgargs;
-} Trigger;
-
-typedef struct TriggerDesc {
- uint16 n_before_statement[4];
- uint16 n_before_row[4];
- uint16 n_after_row[4];
- uint16 n_after_statement[4];
- Trigger **tg_before_statement[4];
- Trigger **tg_before_row[4];
- Trigger **tg_after_row[4];
- Trigger **tg_after_statement[4];
- Trigger *triggers;
-} TriggerDesc;
-
-typedef struct RelationData {
- File rd_fd; /* open file descriptor */
- int rd_nblocks; /* number of blocks in rel */
- uint16 rd_refcnt; /* reference count */
- bool rd_islocal; /* uses the local buffer mgr */
- bool rd_isnailed; /* rel is nailed in cache */
- bool rd_istemp; /* rel is a temp rel */
- bool rd_tmpunlinked; /* temp rel already unlinked */
- Form_pg_am rd_am; /* AM tuple */
- Form_pg_class rd_rel; /* RELATION tuple */
- Oid rd_id; /* relations's object id */
- Pointer lockInfo; /* ptr. to misc. info. */
- TupleDesc rd_att; /* tuple desciptor */
- RuleLock *rd_rules; /* rewrite rules */
- IndexStrategy rd_istrat;
- RegProcedure* rd_support;
- TriggerDesc *trigdesc;
-} RelationData;
-
-typedef RelationData *Relation;
+typedef struct Trigger
+{
+ char *tgname;
+ Oid tgfoid;
+ func_ptr tgfunc;
+ int16 tgtype;
+ int16 tgnargs;
+ int16 tgattr[8];
+ char **tgargs;
+} Trigger;
+
+typedef struct TriggerDesc
+{
+ uint16 n_before_statement[4];
+ uint16 n_before_row[4];
+ uint16 n_after_row[4];
+ uint16 n_after_statement[4];
+ Trigger **tg_before_statement[4];
+ Trigger **tg_before_row[4];
+ Trigger **tg_after_row[4];
+ Trigger **tg_after_statement[4];
+ Trigger *triggers;
+} TriggerDesc;
+
+typedef struct RelationData
+{
+ File rd_fd; /* open file descriptor */
+ int rd_nblocks; /* number of blocks in rel */
+ uint16 rd_refcnt; /* reference count */
+ bool rd_islocal; /* uses the local buffer mgr */
+ bool rd_isnailed;/* rel is nailed in cache */
+ bool rd_istemp; /* rel is a temp rel */
+ bool rd_tmpunlinked; /* temp rel already unlinked */
+ Form_pg_am rd_am; /* AM tuple */
+ Form_pg_class rd_rel; /* RELATION tuple */
+ Oid rd_id; /* relations's object id */
+ Pointer lockInfo; /* ptr. to misc. info. */
+ TupleDesc rd_att; /* tuple desciptor */
+ RuleLock *rd_rules; /* rewrite rules */
+ IndexStrategy rd_istrat;
+ RegProcedure *rd_support;
+ TriggerDesc *trigdesc;
+} RelationData;
+
+typedef RelationData *Relation;
/* ----------------
- * RelationPtr is used in the executor to support index scans
- * where we have to keep track of several index relations in an
- * array. -cim 9/10/89
+ * RelationPtr is used in the executor to support index scans
+ * where we have to keep track of several index relations in an
+ * array. -cim 9/10/89
* ----------------
*/
-typedef Relation *RelationPtr;
+typedef Relation *RelationPtr;
-#define InvalidRelation ((Relation)NULL)
+#define InvalidRelation ((Relation)NULL)
typedef char ArchiveMode;
/*
* RelationIsValid --
- * True iff relation descriptor is valid.
+ * True iff relation descriptor is valid.
*/
-#define RelationIsValid(relation) PointerIsValid(relation)
+#define RelationIsValid(relation) PointerIsValid(relation)
/*
* RelationGetSystemPort --
- * Returns system port of a relation.
+ * Returns system port of a relation.
*
* Note:
- * Assumes relation descriptor is valid.
+ * Assumes relation descriptor is valid.
*/
#define RelationGetSystemPort(relation) ((relation)->rd_fd)
/*
* RelationGetLockInfo --
- * Returns the lock information structure in the reldesc
+ * Returns the lock information structure in the reldesc
*
*/
#define RelationGetLockInfo(relation) ((relation)->lockInfo)
/*
* RelationHasReferenceCountZero --
- * True iff relation reference count is zero.
+ * True iff relation reference count is zero.
*
* Note:
- * Assumes relation descriptor is valid.
+ * Assumes relation descriptor is valid.
*/
#define RelationHasReferenceCountZero(relation) \
- ((bool)((relation)->rd_refcnt == 0))
+ ((bool)((relation)->rd_refcnt == 0))
/*
* RelationSetReferenceCount --
- * Sets relation reference count.
+ * Sets relation reference count.
*/
#define RelationSetReferenceCount(relation,count) ((relation)->rd_refcnt = count)
/*
* RelationIncrementReferenceCount --
- * Increments relation reference count.
+ * Increments relation reference count.
*/
#define RelationIncrementReferenceCount(relation) ((relation)->rd_refcnt += 1);
/*
* RelationDecrementReferenceCount --
- * Decrements relation reference count.
+ * Decrements relation reference count.
*/
#define RelationDecrementReferenceCount(relation) ((relation)->rd_refcnt -= 1)
/*
* RelationGetAccessMethodTupleForm --
- * Returns access method attribute values for a relation.
+ * Returns access method attribute values for a relation.
*
* Note:
- * Assumes relation descriptor is valid.
+ * Assumes relation descriptor is valid.
*/
#define RelationGetAccessMethodTupleForm(relation) ((relation)->rd_am)
/*
* RelationGetRelationTupleForm --
- * Returns relation attribute values for a relation.
+ * Returns relation attribute values for a relation.
*
* Note:
- * Assumes relation descriptor is valid.
+ * Assumes relation descriptor is valid.
*/
#define RelationGetRelationTupleForm(relation) ((relation)->rd_rel)
-/*
+/*
* RelationGetRelationId --
*
- * returns the object id of the relation
+ * returns the object id of the relation
*
*/
#define RelationGetRelationId(relation) ((relation)->rd_id)
@@ -155,7 +158,7 @@ typedef char ArchiveMode;
/*
* RelationGetFile --
*
- * Returns the open File decscriptor
+ * Returns the open File decscriptor
*/
#define RelationGetFile(relation) ((relation)->rd_fd)
@@ -163,28 +166,30 @@ typedef char ArchiveMode;
/*
* RelationGetRelationName --
*
- * Returns a Relation Name
+ * Returns a Relation Name
*/
#define RelationGetRelationName(relation) (&(relation)->rd_rel->relname)
/*
* RelationGetRelationName --
*
- * Returns a the number of attributes.
+ * Returns a the number of attributes.
*/
#define RelationGetNumberOfAttributes(relation) ((relation)->rd_rel->relnatts)
/*
* RelationGetTupleDescriptor --
- * Returns tuple descriptor for a relation.
+ * Returns tuple descriptor for a relation.
*
* Note:
- * Assumes relation descriptor is valid.
+ * Assumes relation descriptor is valid.
*/
#define RelationGetTupleDescriptor(relation) ((relation)->rd_att)
extern IndexStrategy RelationGetIndexStrategy(Relation relation);
-extern void RelationSetIndexSupport(Relation relation, IndexStrategy strategy,
- RegProcedure *support);
-#endif /* REL_H */
+extern void
+RelationSetIndexSupport(Relation relation, IndexStrategy strategy,
+ RegProcedure * support);
+
+#endif /* REL_H */
diff --git a/src/include/utils/rel2.h b/src/include/utils/rel2.h
index bee0c78b8fb..19873d34e28 100644
--- a/src/include/utils/rel2.h
+++ b/src/include/utils/rel2.h
@@ -1,23 +1,24 @@
/*-------------------------------------------------------------------------
*
* rel2.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: rel2.h,v 1.2 1996/11/04 11:51:25 scrappy Exp $
+ * $Id: rel2.h,v 1.3 1997/09/07 05:02:58 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef TMP_REL2_H
-#define TMP_REL2_H
+#ifndef TMP_REL2_H
+#define TMP_REL2_H
#include <utils/rel.h>
extern IndexStrategy RelationGetIndexStrategy(Relation relation);
-extern void RelationSetIndexSupport(Relation relation, IndexStrategy strategy,
- RegProcedure *support);
+extern void
+RelationSetIndexSupport(Relation relation, IndexStrategy strategy,
+ RegProcedure * support);
-#endif /* TMP_REL2_H */
+#endif /* TMP_REL2_H */
diff --git a/src/include/utils/relcache.h b/src/include/utils/relcache.h
index 7b1a0c2196b..984d0cc63ae 100644
--- a/src/include/utils/relcache.h
+++ b/src/include/utils/relcache.h
@@ -1,16 +1,16 @@
/*-------------------------------------------------------------------------
*
* relcache.h--
- * Relation descriptor cache definitions.
+ * Relation descriptor cache definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: relcache.h,v 1.6 1997/08/19 21:40:49 momjian Exp $
+ * $Id: relcache.h,v 1.7 1997/09/07 05:03:00 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef RELCACHE_H
+#ifndef RELCACHE_H
#define RELCACHE_H
#include <utils/rel.h>
@@ -22,17 +22,17 @@ extern Relation RelationIdCacheGetRelation(Oid relationId);
extern Relation RelationIdGetRelation(Oid relationId);
extern Relation RelationNameGetRelation(char *relationName);
-extern void RelationClose(Relation relation);
-extern void RelationForgetRelation(Oid rid);
-extern void RelationIdInvalidateRelationCacheByRelationId(Oid relationId);
+extern void RelationClose(Relation relation);
+extern void RelationForgetRelation(Oid rid);
+extern void RelationIdInvalidateRelationCacheByRelationId(Oid relationId);
-extern void
-RelationIdInvalidateRelationCacheByAccessMethodId(Oid accessMethodId);
+extern void
+ RelationIdInvalidateRelationCacheByAccessMethodId(Oid accessMethodId);
-extern void RelationCacheInvalidate(bool onlyFlushReferenceCountZero);
+extern void RelationCacheInvalidate(bool onlyFlushReferenceCountZero);
-extern void RelationRegisterRelation(Relation relation);
-extern void RelationPurgeLocalRelation(bool xactComitted);
-extern void RelationInitialize(void);
+extern void RelationRegisterRelation(Relation relation);
+extern void RelationPurgeLocalRelation(bool xactComitted);
+extern void RelationInitialize(void);
-#endif /* RELCACHE_H */
+#endif /* RELCACHE_H */
diff --git a/src/include/utils/sets.h b/src/include/utils/sets.h
index 4580f15a3dd..717989bdfe3 100644
--- a/src/include/utils/sets.h
+++ b/src/include/utils/sets.h
@@ -1,12 +1,12 @@
/*-------------------------------------------------------------------------
*
* sets.h--
- *
+ *
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: sets.h,v 1.1 1996/08/28 01:59:25 scrappy Exp $
+ * $Id: sets.h,v 1.2 1997/09/07 05:03:01 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -16,7 +16,7 @@
/* Temporary name of set, before SetDefine changes it. */
#define GENERICSETNAME "zyxset"
-extern Oid SetDefine(char *querystr, char *typename);
-extern int seteval(Oid funcoid);
+extern Oid SetDefine(char *querystr, char *typename);
+extern int seteval(Oid funcoid);
-#endif /* SETS_H */
+#endif /* SETS_H */
diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h
index 9de2b9d40a3..db830e3cd2f 100644
--- a/src/include/utils/syscache.h
+++ b/src/include/utils/syscache.h
@@ -1,90 +1,97 @@
/*-------------------------------------------------------------------------
*
* syscache.h--
- * System catalog cache definitions.
+ * System catalog cache definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: syscache.h,v 1.4 1996/11/04 11:51:27 scrappy Exp $
+ * $Id: syscache.h,v 1.5 1997/09/07 05:03:02 momjian Exp $
*
*-------------------------------------------------------------------------
*/
-#ifndef SYSCACHE_H
+#ifndef SYSCACHE_H
#define SYSCACHE_H
#include <access/attnum.h>
#include <access/htup.h>
-/*#define CACHEDEBUG*/ /* turns DEBUG elogs on */
+ /*#define CACHEDEBUG*//* turns DEBUG elogs on */
/*
- * Declarations for util/syscache.c.
+ * Declarations for util/syscache.c.
*
- * SysCache identifiers.
+ * SysCache identifiers.
*
- * The order of these must match the order
- * they are entered into the structure cacheinfo[] in syscache.c
- * The best thing to do is to add yours at the END, because some
- * code assumes that certain caches are at certain places in this
- * array.
+ * The order of these must match the order
+ * they are entered into the structure cacheinfo[] in syscache.c
+ * The best thing to do is to add yours at the END, because some
+ * code assumes that certain caches are at certain places in this
+ * array.
*/
-#define AMOPOPID 0
-#define AMOPSTRATEGY 1
-#define ATTNAME 2
-#define ATTNUM 3
-#define INDEXRELID 4
-#define LANNAME 5
-#define OPRNAME 6
-#define OPROID 7
-#define PRONAME 8
-#define PROOID 9
-#define RELNAME 10
-#define RELOID 11
-#define TYPNAME 12
-#define TYPOID 13
-#define AMNAME 14
-#define CLANAME 15
-#define INDRELIDKEY 16
-#define INHRELID 17
-#define RULOID 18
-#define AGGNAME 19
-#define LISTENREL 20
-#define USENAME 21
-#define USESYSID 22
-#define GRONAME 23
-#define GROSYSID 24
-#define REWRITENAME 25
-#define PROSRC 26
-#define CLADEFTYPE 27
+#define AMOPOPID 0
+#define AMOPSTRATEGY 1
+#define ATTNAME 2
+#define ATTNUM 3
+#define INDEXRELID 4
+#define LANNAME 5
+#define OPRNAME 6
+#define OPROID 7
+#define PRONAME 8
+#define PROOID 9
+#define RELNAME 10
+#define RELOID 11
+#define TYPNAME 12
+#define TYPOID 13
+#define AMNAME 14
+#define CLANAME 15
+#define INDRELIDKEY 16
+#define INHRELID 17
+#define RULOID 18
+#define AGGNAME 19
+#define LISTENREL 20
+#define USENAME 21
+#define USESYSID 22
+#define GRONAME 23
+#define GROSYSID 24
+#define REWRITENAME 25
+#define PROSRC 26
+#define CLADEFTYPE 27
/* ----------------
- * struct cachedesc: information needed for a call to InitSysCache()
+ * struct cachedesc: information needed for a call to InitSysCache()
* ----------------
*/
-struct cachedesc {
- char *name; /* this is Name * so that we can initialize it */
- int nkeys;
- int key[4];
- int size; /* sizeof(appropriate struct) */
- char *indname; /* index relation for this cache, if exists */
- HeapTuple (*iScanFunc)(); /* function to handle index scans */
+struct cachedesc
+{
+ char *name; /* this is Name * so that we can
+ * initialize it */
+ int nkeys;
+ int key[4];
+ int size; /* sizeof(appropriate struct) */
+ char *indname; /* index relation for this cache, if
+ * exists */
+ HeapTuple(*iScanFunc) (); /* function to handle
+ * index scans */
};
-extern void zerocaches(void);
-extern void InitCatalogCache(void);
-extern HeapTuple SearchSysCacheTuple(int cacheId, Datum key1, Datum key2,
- Datum key3, Datum key4);
-extern int32 SearchSysCacheStruct(int cacheId, char *returnStruct,
- Datum key1, Datum key2, Datum key3, Datum key4);
-extern void *SearchSysCacheGetAttribute(int cacheId,
- AttrNumber attributeNumber,
- Datum key1,
- Datum key2,
- Datum key3,
- Datum key4);
-extern void *TypeDefaultRetrieve(Oid typId);
+extern void zerocaches(void);
+extern void InitCatalogCache(void);
+extern HeapTuple
+SearchSysCacheTuple(int cacheId, Datum key1, Datum key2,
+ Datum key3, Datum key4);
+extern int32
+SearchSysCacheStruct(int cacheId, char *returnStruct,
+ Datum key1, Datum key2, Datum key3, Datum key4);
+extern void *
+SearchSysCacheGetAttribute(int cacheId,
+ AttrNumber attributeNumber,
+ Datum key1,
+ Datum key2,
+ Datum key3,
+ Datum key4);
+extern void *TypeDefaultRetrieve(Oid typId);
-#endif /* SYSCACHE_H */
+#endif /* SYSCACHE_H */
diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h
index 9c45ce0650c..a32ccb2ab13 100644
--- a/src/include/utils/tqual.h
+++ b/src/include/utils/tqual.h
@@ -1,43 +1,45 @@
/*-------------------------------------------------------------------------
*
* tqual.h--
- * POSTGRES time qualification definitions.
+ * POSTGRES time qualification definitions.
*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: tqual.h,v 1.6 1997/08/19 21:40:50 momjian Exp $
+ * $Id: tqual.h,v 1.7 1997/09/07 05:03:03 momjian Exp $
*
* NOTE
- * It may be desirable to allow time qualifications to indicate
- * relative times.
+ * It may be desirable to allow time qualifications to indicate
+ * relative times.
*
*-------------------------------------------------------------------------
*/
-#ifndef TQUAL_H
+#ifndef TQUAL_H
#define TQUAL_H
#include <access/htup.h>
-typedef struct TimeQualSpace {
- char data[12];
-} TimeQualSpace;
+typedef struct TimeQualSpace
+{
+ char data[12];
+} TimeQualSpace;
-typedef Pointer TimeQual;
+typedef Pointer TimeQual;
/* Tuples valid as of StartTransactionCommand */
-#define NowTimeQual ((TimeQual) NULL)
+#define NowTimeQual ((TimeQual) NULL)
/* As above, plus updates in this command */
-extern TimeQual SelfTimeQual;
+extern TimeQual SelfTimeQual;
-extern void setheapoverride(bool on);
-extern bool heapisoverride(void);
+extern void setheapoverride(bool on);
+extern bool heapisoverride(void);
extern TimeQual TimeFormSnapshotTimeQual(AbsoluteTime time);
-extern TimeQual TimeFormRangedTimeQual(AbsoluteTime startTime,
- AbsoluteTime endTime);
-extern bool HeapTupleSatisfiesTimeQual(HeapTuple tuple, TimeQual qual);
+extern TimeQual
+TimeFormRangedTimeQual(AbsoluteTime startTime,
+ AbsoluteTime endTime);
+extern bool HeapTupleSatisfiesTimeQual(HeapTuple tuple, TimeQual qual);
-#endif /* TQUAL_H */
+#endif /* TQUAL_H */