mirror of
https://github.com/postgres/postgres.git
synced 2025-10-25 13:17:41 +03:00
Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: acl.h,v 1.8 1997/09/07 05:02:05 momjian Exp $
|
||||
* $Id: acl.h,v 1.9 1997/09/08 02:39:24 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* For backward-compatability purposes we have to allow there
|
||||
@@ -29,14 +29,14 @@
|
||||
* AclId system identifier for the user, group, etc.
|
||||
* XXX currently UNIX uid for users...
|
||||
*/
|
||||
typedef uint32 AclId;
|
||||
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;
|
||||
typedef uint8 AclIdType;
|
||||
|
||||
#define ACL_IDTYPE_WORLD 0x00
|
||||
#define ACL_IDTYPE_UID 0x01 /* user id - from pg_user */
|
||||
@@ -48,7 +48,7 @@ typedef uint8 AclIdType;
|
||||
* XXX should probably also stuff the modechg cruft in the
|
||||
* high bits, too.
|
||||
*/
|
||||
typedef uint8 AclMode;
|
||||
typedef uint8 AclMode;
|
||||
|
||||
#define ACL_NO 0 /* no permissions */
|
||||
#define ACL_AP (1<<0) /* append */
|
||||
@@ -71,10 +71,10 @@ typedef uint8 AclMode;
|
||||
*/
|
||||
typedef struct AclItem
|
||||
{
|
||||
AclId ai_id;
|
||||
AclIdType ai_idtype;
|
||||
AclMode ai_mode;
|
||||
} 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 */
|
||||
@@ -125,7 +125,7 @@ typedef ArrayType IdList;
|
||||
#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
|
||||
@@ -135,12 +135,12 @@ extern char *aclcheck_error_strings[];
|
||||
/*
|
||||
* 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 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);
|
||||
@@ -148,27 +148,27 @@ makeAclStmt(char *privs, List * rel_list, char *grantee,
|
||||
/*
|
||||
* 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
|
||||
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
|
||||
extern int32
|
||||
pg_aggr_ownercheck(char *usename, char *aggname,
|
||||
Oid basetypeID);
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: array.h,v 1.5 1997/09/07 05:02:07 momjian Exp $
|
||||
* $Id: array.h,v 1.6 1997/09/08 02:39:26 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* XXX the data array should be LONGALIGN'd -- notice that the array
|
||||
@@ -26,10 +26,10 @@
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int size; /* total array size (in bytes) */
|
||||
int ndim; /* # of dimensions */
|
||||
int flags; /* implementation flags */
|
||||
} ArrayType;
|
||||
int size; /* total array size (in bytes) */
|
||||
int ndim; /* # of dimensions */
|
||||
int flags; /* implementation flags */
|
||||
} ArrayType;
|
||||
|
||||
/*
|
||||
* bitmask of ArrayType flags field:
|
||||
@@ -99,7 +99,7 @@ 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
|
||||
@@ -107,35 +107,35 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char lo_name[NAME_LEN];
|
||||
int C[MAXDIM];
|
||||
} CHUNK_INFO;
|
||||
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
|
||||
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
|
||||
extern Datum
|
||||
array_clip(ArrayType * array, int n, int upperIndx[],
|
||||
int lowerIndx[], int reftype, int len, bool * isNull);
|
||||
extern char *
|
||||
extern char *
|
||||
array_set(ArrayType * array, int n, int indx[], char *dataPtr,
|
||||
int reftype, int elmlen, int arraylen, bool * isNull);
|
||||
extern char *
|
||||
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 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_newLO(int *fd, int flag);
|
||||
|
||||
|
||||
/*
|
||||
@@ -143,20 +143,20 @@ 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 *
|
||||
extern char *
|
||||
_ChunkArray(int fd, FILE * afd, int ndim, int dim[], int baseSize,
|
||||
int *nbytes, char *chunkfile);
|
||||
extern int
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: bit.h,v 1.2 1997/09/07 05:02:09 momjian Exp $
|
||||
* $Id: bit.h,v 1.3 1997/09/08 02:39:29 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef BIT_H
|
||||
#define BIT_H
|
||||
|
||||
typedef bits8 *BitArray;
|
||||
typedef uint32 BitIndex;
|
||||
typedef bits8 *BitArray;
|
||||
typedef uint32 BitIndex;
|
||||
|
||||
#define BitsPerByte 8
|
||||
|
||||
@@ -22,18 +22,18 @@ typedef uint32 BitIndex;
|
||||
* BitArraySetBit --
|
||||
* 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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
extern bool BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex);
|
||||
extern bool BitArrayBitIsSet(BitArray bitArray, BitIndex bitIndex);
|
||||
|
||||
#endif /* BIT_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: builtins.h,v 1.22 1997/09/07 05:02:11 momjian Exp $
|
||||
* $Id: builtins.h,v 1.23 1997/09/08 02:39:32 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* This should normally only be included by fmgr.h.
|
||||
@@ -29,181 +29,181 @@
|
||||
* 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);
|
||||
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/
|
||||
*/
|
||||
extern int32 btint2cmp(int16 a, int16 b);
|
||||
extern int32 btint4cmp(int32 a, int32 b);
|
||||
extern int32 btint24cmp(int16 a, int32 b);
|
||||
extern int32 btint42cmp(int32 a, int16 b);
|
||||
extern int32 btfloat4cmp(float32 a, float32 b);
|
||||
extern int32 btfloat8cmp(float64 a, float64 b);
|
||||
extern int32 btoidcmp(Oid a, Oid b);
|
||||
extern int32 btabstimecmp(AbsoluteTime a, AbsoluteTime b);
|
||||
extern int32 btcharcmp(char a, char b);
|
||||
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 btint2cmp(int16 a, int16 b);
|
||||
extern int32 btint4cmp(int32 a, int32 b);
|
||||
extern int32 btint24cmp(int16 a, int32 b);
|
||||
extern int32 btint42cmp(int32 a, int16 b);
|
||||
extern int32 btfloat4cmp(float32 a, float32 b);
|
||||
extern int32 btfloat8cmp(float64 a, float64 b);
|
||||
extern int32 btoidcmp(Oid a, Oid b);
|
||||
extern int32 btabstimecmp(AbsoluteTime a, AbsoluteTime b);
|
||||
extern int32 btcharcmp(char a, char b);
|
||||
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);
|
||||
|
||||
/* 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 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);
|
||||
|
||||
@@ -213,15 +213,15 @@ extern POLYGON *rt_poly_inter(POLYGON * a, POLYGON * b);
|
||||
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 char *tintervalout(TimeInterval interval);
|
||||
extern RelativeTime timespan_reltime(TimeSpan * timespan);
|
||||
extern TimeSpan *reltime_timespan(RelativeTime reltime);
|
||||
extern TimeInterval mktinterval(AbsoluteTime t1, AbsoluteTime t2);
|
||||
@@ -229,309 +229,309 @@ 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 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 DateADT datetime_date(DateTime * datetime);
|
||||
extern DateTime *datetime_datetime(DateADT date, TimeADT * time);
|
||||
extern DateADT abstime_date(AbsoluteTime abstime);
|
||||
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 */
|
||||
|
||||
|
||||
@@ -13,22 +13,22 @@
|
||||
typedef signed int Cash;
|
||||
|
||||
extern const char *cash_out(Cash * value);
|
||||
extern Cash *cash_in(const char *str);
|
||||
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);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: catcache.h,v 1.6 1997/09/07 05:02:14 momjian Exp $
|
||||
* $Id: catcache.h,v 1.7 1997/09/08 02:39:34 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -27,11 +27,11 @@
|
||||
|
||||
typedef struct catctup
|
||||
{
|
||||
HeapTuple ct_tup; /* A pointer to a tuple */
|
||||
Dlelem *ct_node; /* points to LRU list is the CatCTup is in
|
||||
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;
|
||||
} CatCTup;
|
||||
|
||||
/* voodoo constants */
|
||||
#define NCCBUCK 500 /* CatCache buckets */
|
||||
@@ -39,24 +39,24 @@ typedef struct catctup
|
||||
|
||||
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];
|
||||
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;
|
||||
Dllist *cc_lrulist; /* LRU list, most recent first */
|
||||
Dllist *cc_cache[NCCBUCK + 1];
|
||||
} CatCache;
|
||||
|
||||
#define InvalidCatalogCacheId (-1)
|
||||
|
||||
@@ -66,11 +66,11 @@ extern GlobalMemory CacheCxt;
|
||||
extern void
|
||||
CatalogCacheIdInvalidate(int cacheId, Index hashIndex,
|
||||
ItemPointer pointer);
|
||||
extern void ResetSystemCache(void);
|
||||
extern void ResetSystemCache(void);
|
||||
extern CatCache *
|
||||
InitSysCache(char *relname, char *indname, int id, int nkeys,
|
||||
int key[], HeapTuple(*iScanfuncP) ());
|
||||
extern HeapTuple
|
||||
extern HeapTuple
|
||||
SearchSysCache(struct catcache * cache, Datum v1, Datum v2,
|
||||
Datum v3, Datum v4);
|
||||
extern void
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: datetime.h,v 1.4 1997/09/07 05:02:16 momjian Exp $
|
||||
* $Id: datetime.h,v 1.5 1997/09/08 02:39:35 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
#include "utils/dt.h"
|
||||
|
||||
typedef int32 DateADT;
|
||||
typedef int32 DateADT;
|
||||
|
||||
typedef float8 TimeADT;
|
||||
typedef float8 TimeADT;
|
||||
|
||||
#endif /* DATETIME_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: datum.h,v 1.3 1997/09/07 05:02:17 momjian Exp $
|
||||
* $Id: datum.h,v 1.4 1997/09/08 02:39:36 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -38,26 +38,26 @@
|
||||
* 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
|
||||
extern bool
|
||||
datumIsEqual(Datum value1, Datum value2, Oid type,
|
||||
bool byVal, Size len);
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: dt.h,v 1.19 1997/09/07 05:02:19 momjian Exp $
|
||||
* $Id: dt.h,v 1.20 1997/09/08 02:39:37 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -28,15 +28,15 @@
|
||||
* 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
|
||||
double time; /* all time units other than months and
|
||||
* years */
|
||||
int4 month; /* months and years, after time for
|
||||
int4 month; /* months and years, after time for
|
||||
* alignment */
|
||||
} TimeSpan;
|
||||
} TimeSpan;
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
@@ -185,13 +185,13 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
#if defined(aix)
|
||||
char *token;
|
||||
char *token;
|
||||
#else
|
||||
char token[TOKMAXLEN];
|
||||
char token[TOKMAXLEN];
|
||||
#endif /* aix */
|
||||
char type;
|
||||
char value; /* this may be unsigned, alas */
|
||||
} datetkn;
|
||||
char type;
|
||||
char value; /* this may be unsigned, alas */
|
||||
} datetkn;
|
||||
|
||||
#ifdef NAN
|
||||
#define DT_INVALID (NAN)
|
||||
@@ -223,7 +223,7 @@ typedef struct
|
||||
|
||||
#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
|
||||
@@ -232,7 +232,7 @@ extern int datetime_is_current(double j);
|
||||
|
||||
#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
|
||||
@@ -260,38 +260,38 @@ extern int datetime_is_epoch(double j);
|
||||
*/
|
||||
|
||||
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 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 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 text *datetime_text(DateTime * datetime);
|
||||
extern DateTime *text_datetime(text * str);
|
||||
extern text *timespan_text(TimeSpan * timespan);
|
||||
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 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);
|
||||
@@ -303,14 +303,14 @@ 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 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,
|
||||
@@ -327,9 +327,9 @@ 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 */
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: dynahash.h,v 1.3 1997/09/07 05:02:20 momjian Exp $
|
||||
* $Id: dynahash.h,v 1.4 1997/09/08 02:39:38 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef DYNAHASH_H
|
||||
#define DYNAHASH_H
|
||||
|
||||
extern int my_log2(long num);
|
||||
extern int my_log2(long num);
|
||||
|
||||
#endif /* DYNAHASH_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: dynamic_loader.h,v 1.6 1997/09/07 05:02:22 momjian Exp $
|
||||
* $Id: dynamic_loader.h,v 1.7 1997/09/08 02:39:38 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -29,16 +29,16 @@
|
||||
|
||||
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 */
|
||||
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;
|
||||
} 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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: elog.h,v 1.4 1997/09/07 05:02:27 momjian Exp $
|
||||
* $Id: elog.h,v 1.5 1997/09/08 02:39:39 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -33,10 +33,10 @@
|
||||
/* 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
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: exc.h,v 1.8 1997/09/07 05:02:28 momjian Exp $
|
||||
* $Id: exc.h,v 1.9 1997/09/08 02:39:41 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
extern char *ExcFileName;
|
||||
extern Index ExcLineNumber;
|
||||
extern char *ExcFileName;
|
||||
extern Index ExcLineNumber;
|
||||
|
||||
/*
|
||||
* ExcMessage and Exception are now defined in c.h
|
||||
@@ -32,18 +32,18 @@ typedef sigjmp_buf ExcContext;
|
||||
#endif
|
||||
|
||||
typedef Exception *ExcId;
|
||||
typedef long ExcDetail;
|
||||
typedef char *ExcData;
|
||||
typedef long ExcDetail;
|
||||
typedef char *ExcData;
|
||||
|
||||
typedef struct ExcFrame
|
||||
{
|
||||
struct ExcFrame *link;
|
||||
ExcContext context;
|
||||
ExcId id;
|
||||
ExcDetail detail;
|
||||
ExcData data;
|
||||
ExcMessage message;
|
||||
} ExcFrame;
|
||||
ExcContext context;
|
||||
ExcId id;
|
||||
ExcDetail detail;
|
||||
ExcData data;
|
||||
ExcMessage message;
|
||||
} ExcFrame;
|
||||
|
||||
extern ExcFrame *ExcCurFrameP;
|
||||
|
||||
@@ -71,13 +71,13 @@ extern ExcFrame *ExcCurFrameP;
|
||||
#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 EnableExceptionHandling(bool on);
|
||||
extern void
|
||||
ExcRaise(Exception * excP,
|
||||
ExcDetail detail,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: fcache.h,v 1.3 1997/09/07 05:02:30 momjian Exp $
|
||||
* $Id: fcache.h,v 1.4 1997/09/08 02:39:43 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,39 +16,39 @@
|
||||
|
||||
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
|
||||
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 */
|
||||
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 */
|
||||
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 */
|
||||
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
|
||||
bool oneResult; /* true we only want 1 result from the
|
||||
* function */
|
||||
bool hasSetArg; /* true if func is part of a nested dot
|
||||
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
|
||||
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
|
||||
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;
|
||||
bool istrusted; /* trusted fn? */
|
||||
} FunctionCache, *FunctionCachePtr;
|
||||
|
||||
#endif /* FCACHE_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: fcache2.h,v 1.3 1997/09/07 05:02:31 momjian Exp $
|
||||
* $Id: fcache2.h,v 1.4 1997/09/08 02:39:43 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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: fmgrtab.h,v 1.5 1997/09/07 05:02:32 momjian Exp $
|
||||
* $Id: fmgrtab.h,v 1.6 1997/09/08 02:39:44 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Oid proid;
|
||||
uint16 nargs;
|
||||
func_ptr func;
|
||||
char *funcName;
|
||||
} FmgrCall;
|
||||
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 void load_file(char *filename);
|
||||
|
||||
#endif /* FMGRTAB_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geo_decls.h,v 1.9 1997/09/07 05:02:34 momjian Exp $
|
||||
* $Id: geo_decls.h,v 1.10 1997/09/08 02:39:46 momjian Exp $
|
||||
*
|
||||
* NOTE
|
||||
* These routines do *not* use the float types from adt/.
|
||||
@@ -65,9 +65,9 @@
|
||||
*-------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
double x,
|
||||
y;
|
||||
} Point;
|
||||
double x,
|
||||
y;
|
||||
} Point;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------
|
||||
@@ -75,10 +75,10 @@ typedef struct
|
||||
*-------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
Point p[2];
|
||||
Point p[2];
|
||||
|
||||
double m; /* precomputed to save time, not in tuple */
|
||||
} LSEG;
|
||||
double m; /* precomputed to save time, not in tuple */
|
||||
} LSEG;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------
|
||||
@@ -86,12 +86,12 @@ typedef struct
|
||||
*-------------------------------------------------------------------*/
|
||||
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;
|
||||
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;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------
|
||||
@@ -104,12 +104,12 @@ typedef struct
|
||||
*-------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
double A,
|
||||
B,
|
||||
C;
|
||||
double A,
|
||||
B,
|
||||
C;
|
||||
|
||||
double m;
|
||||
} LINE;
|
||||
double m;
|
||||
} LINE;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------
|
||||
@@ -118,9 +118,9 @@ typedef struct
|
||||
*-------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
Point high,
|
||||
low; /* corner POINTs */
|
||||
} BOX;
|
||||
Point high,
|
||||
low; /* corner POINTs */
|
||||
} BOX;
|
||||
|
||||
/*---------------------------------------------------------------------
|
||||
* POLYGON - Specified by an array of doubles defining the points,
|
||||
@@ -129,178 +129,178 @@ typedef struct
|
||||
*-------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
int32 size; /* XXX varlena */
|
||||
int32 npts;
|
||||
BOX boundbox;
|
||||
Point p[1]; /* variable length array of POINTs */
|
||||
} POLYGON;
|
||||
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;
|
||||
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 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 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 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 Point *path_center(PATH * path);
|
||||
extern POLYGON *path_poly(PATH * path);
|
||||
|
||||
extern PATH *upgradepath(PATH * path);
|
||||
extern bool isoldpath(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 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 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);
|
||||
@@ -309,52 +309,52 @@ 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 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 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
|
||||
extern float64
|
||||
areasel(Oid opid, Oid relid, AttrNumber attno,
|
||||
char *value, int32 flag);
|
||||
extern float64
|
||||
extern float64
|
||||
areajoinsel(Oid opid, Oid relid, AttrNumber attno,
|
||||
char *value, int32 flag);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: hsearch.h,v 1.4 1997/09/07 05:02:35 momjian Exp $
|
||||
* $Id: hsearch.h,v 1.5 1997/09/08 02:39:47 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -34,9 +34,9 @@
|
||||
*/
|
||||
typedef struct element
|
||||
{
|
||||
unsigned long next; /* secret from user */
|
||||
long key;
|
||||
} ELEMENT;
|
||||
unsigned long next; /* secret from user */
|
||||
long key;
|
||||
} ELEMENT;
|
||||
|
||||
typedef unsigned long BUCKET_INDEX;
|
||||
|
||||
@@ -46,58 +46,58 @@ 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
|
||||
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;
|
||||
BUCKET_INDEX freeBucketIndex;
|
||||
/* index of first free bucket */
|
||||
#ifdef HASH_STATISTICS
|
||||
long accesses;
|
||||
long collisions;
|
||||
long accesses;
|
||||
long collisions;
|
||||
#endif
|
||||
} HHDR;
|
||||
} HHDR;
|
||||
|
||||
typedef struct htab
|
||||
{
|
||||
HHDR *hctl; /* shared control information */
|
||||
long (*hash) (); /* Hash Function */
|
||||
char *segbase; /* segment base address for calculating
|
||||
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
|
||||
SEG_OFFSET *dir; /* 'directory' of segm starts */
|
||||
long *(*alloc) (); /* memory allocator (long * for alignment
|
||||
* reasons) */
|
||||
|
||||
} HTAB;
|
||||
} 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
|
||||
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
|
||||
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;
|
||||
} HASHCTL;
|
||||
|
||||
/* Flags to indicate action for hctl */
|
||||
#define HASH_BUCKET 0x001 /* Setting bucket size */
|
||||
@@ -125,23 +125,23 @@ typedef enum
|
||||
HASH_REMOVE,
|
||||
HASH_FIND_SAVE,
|
||||
HASH_REMOVE_SAVED
|
||||
} HASHACTION;
|
||||
} 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 *
|
||||
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 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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: inval.h,v 1.5 1997/09/07 05:02:36 momjian Exp $
|
||||
* $Id: inval.h,v 1.6 1997/09/08 02:39:48 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,13 +16,13 @@
|
||||
#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)
|
||||
@@ -30,13 +30,13 @@ extern void RelationInvalidateHeapTuple(Relation relation, HeapTuple tuple);
|
||||
typedef struct InvalidationUserData
|
||||
{
|
||||
struct InvalidationUserData *dataP[1]; /* VARIABLE LENGTH */
|
||||
} InvalidationUserData; /* VARIABLE LENGTH STRUCTURE */
|
||||
} InvalidationUserData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef struct InvalidationEntryData
|
||||
{
|
||||
InvalidationUserData *nextP;
|
||||
InvalidationUserData userData; /* VARIABLE LENGTH ARRAY */
|
||||
} InvalidationEntryData; /* VARIABLE LENGTH STRUCTURE */
|
||||
} InvalidationEntryData; /* VARIABLE LENGTH STRUCTURE */
|
||||
|
||||
typedef Pointer InvalidationEntry;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: lselect.h,v 1.5 1997/09/07 05:02:38 momjian Exp $
|
||||
* $Id: lselect.h,v 1.6 1997/09/08 02:39:48 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -18,9 +18,9 @@
|
||||
|
||||
struct leftist
|
||||
{
|
||||
short lt_dist; /* distance to leaf/empty node */
|
||||
short lt_devnum; /* device number of tuple */
|
||||
HeapTuple lt_tuple;
|
||||
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;
|
||||
};
|
||||
@@ -28,27 +28,27 @@ struct leftist
|
||||
/* replaces global variables in lselect.c to make it reentrant */
|
||||
typedef struct
|
||||
{
|
||||
TupleDesc tupDesc;
|
||||
int nKeys;
|
||||
ScanKey scanKeys;
|
||||
int sortMem; /* needed for psort */
|
||||
} LeftistContextData;
|
||||
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
|
||||
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 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);
|
||||
extern void checktree(struct leftist * tree, LeftistContext context);
|
||||
extern int checktreer(struct leftist * tree, int level, LeftistContext context);
|
||||
|
||||
#endif /* EBUG */
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: lsyscache.h,v 1.4 1997/09/07 05:02:39 momjian Exp $
|
||||
* $Id: lsyscache.h,v 1.5 1997/09/08 02:39:49 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,29 +16,29 @@
|
||||
#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
|
||||
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 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 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 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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: mcxt.h,v 1.6 1997/09/07 05:02:40 momjian Exp $
|
||||
* $Id: mcxt.h,v 1.7 1997/09/08 02:39:49 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -37,16 +37,16 @@ extern MemoryContext TopMemoryContext;
|
||||
/*
|
||||
* prototypes for functions in mcxt.c
|
||||
*/
|
||||
extern void EnableMemoryContext(bool on);
|
||||
extern Pointer MemoryContextAlloc(MemoryContext context, Size size);
|
||||
extern 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 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 */
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: memutils.h,v 1.9 1997/09/07 05:02:42 momjian Exp $
|
||||
* $Id: memutils.h,v 1.10 1997/09/08 02:39:50 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* some of the information in this file will be moved to
|
||||
@@ -107,27 +107,27 @@ 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 */
|
||||
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 */
|
||||
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. *
|
||||
@@ -193,7 +193,7 @@ typedef enum AllocMode
|
||||
StaticAllocMode, /* always "statically" allocate */
|
||||
TunableAllocMode, /* allocations are "tuned" */
|
||||
BoundedAllocMode /* allocations bounded to fixed usage */
|
||||
} AllocMode;
|
||||
} AllocMode;
|
||||
|
||||
#define DefaultAllocMode DynamicAllocMode
|
||||
|
||||
@@ -203,9 +203,9 @@ typedef enum AllocMode
|
||||
*/
|
||||
typedef struct AllocSetData
|
||||
{
|
||||
OrderedSetData setData;
|
||||
OrderedSetData setData;
|
||||
/* Note: this will change in the future to support other modes */
|
||||
} AllocSetData;
|
||||
} AllocSetData;
|
||||
|
||||
typedef AllocSetData *AllocSet;
|
||||
|
||||
@@ -221,18 +221,18 @@ typedef AllocSetData *AllocSet;
|
||||
*/
|
||||
#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
|
||||
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 *
|
||||
@@ -247,7 +247,7 @@ extern void AllocSetDump(AllocSet set);
|
||||
* LibCCopyLength is only used within this file. -cim 6/12/90
|
||||
*
|
||||
*/
|
||||
typedef int LibCCopyLength;
|
||||
typedef int LibCCopyLength;
|
||||
|
||||
/*
|
||||
* MemoryCopy --
|
||||
@@ -262,7 +262,7 @@ typedef int LibCCopyLength;
|
||||
|
||||
#define MaxBitsPerByte 8
|
||||
|
||||
typedef uint32 AttributeSize; /* XXX should be defined elsewhere */
|
||||
typedef uint32 AttributeSize; /* XXX should be defined elsewhere */
|
||||
|
||||
#define MaxHeapTupleSize 0x7fffffff
|
||||
#define MaxAttributeSize 0x7fffffff
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: module.h,v 1.2 1997/09/07 05:02:44 momjian Exp $
|
||||
* $Id: module.h,v 1.3 1997/09/08 02:39:51 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -20,6 +20,6 @@
|
||||
/*
|
||||
* prototypes for functions in init/enbl.c
|
||||
*/
|
||||
extern bool BypassEnable(int *enableCountInOutP, bool on);
|
||||
extern bool BypassEnable(int *enableCountInOutP, bool on);
|
||||
|
||||
#endif /* MODULE_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: nabstime.h,v 1.11 1997/09/07 05:02:46 momjian Exp $
|
||||
* $Id: nabstime.h,v 1.12 1997/09/08 02:39:51 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -23,14 +23,14 @@
|
||||
*
|
||||
* ----------------------------------------------------------------
|
||||
*/
|
||||
typedef int32 AbsoluteTime;
|
||||
typedef int32 RelativeTime;
|
||||
typedef int32 AbsoluteTime;
|
||||
typedef int32 RelativeTime;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int32 status;
|
||||
AbsoluteTime data[2];
|
||||
} TimeIntervalData;
|
||||
int32 status;
|
||||
AbsoluteTime data[2];
|
||||
} TimeIntervalData;
|
||||
typedef TimeIntervalData *TimeInterval;
|
||||
|
||||
/*
|
||||
@@ -102,22 +102,22 @@ extern AbsoluteTime GetCurrentAbsoluteTime(void);
|
||||
* 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 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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: oidcompos.h,v 1.2 1997/09/07 05:02:47 momjian Exp $
|
||||
* $Id: oidcompos.h,v 1.3 1997/09/08 02:39:52 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -14,39 +14,39 @@
|
||||
#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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: palloc.h,v 1.4 1997/09/07 05:02:49 momjian Exp $
|
||||
* $Id: palloc.h,v 1.5 1997/09/08 02:39:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -15,11 +15,11 @@
|
||||
|
||||
#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);
|
||||
extern char *pstrdup(char *pointer);
|
||||
|
||||
#endif /* PALLOC_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: portal.h,v 1.5 1997/09/07 05:02:51 momjian Exp $
|
||||
* $Id: portal.h,v 1.6 1997/09/08 02:39:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -32,9 +32,9 @@
|
||||
|
||||
typedef struct PortalBlockData
|
||||
{
|
||||
AllocSetData setData;
|
||||
FixedItemData itemData;
|
||||
} PortalBlockData;
|
||||
AllocSetData setData;
|
||||
FixedItemData itemData;
|
||||
} PortalBlockData;
|
||||
|
||||
typedef PortalBlockData *PortalBlock;
|
||||
|
||||
@@ -43,13 +43,13 @@ typedef PortalD *Portal;
|
||||
|
||||
struct PortalD
|
||||
{
|
||||
char *name; /* XXX PortalName */
|
||||
char *name; /* XXX PortalName */
|
||||
struct PortalVariableMemory variable;
|
||||
struct PortalHeapMemory heap;
|
||||
QueryDesc *queryDesc;
|
||||
TupleDesc attinfo;
|
||||
EState *state;
|
||||
void (*cleanup) (Portal);
|
||||
QueryDesc *queryDesc;
|
||||
TupleDesc attinfo;
|
||||
EState *state;
|
||||
void (*cleanup) (Portal);
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -63,21 +63,21 @@ struct PortalD
|
||||
*/
|
||||
#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 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);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: psort.h,v 1.8 1997/09/07 05:02:53 momjian Exp $
|
||||
* $Id: psort.h,v 1.9 1997/09/08 02:39:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -24,17 +24,17 @@
|
||||
|
||||
struct tape
|
||||
{
|
||||
int tp_dummy; /* (D) */
|
||||
int tp_fib; /* (A) */
|
||||
FILE *tp_file; /* (TAPE) */
|
||||
struct tape *tp_prev;
|
||||
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 */
|
||||
int cp_attn; /* attribute number */
|
||||
int cp_num; /* comparison function code */
|
||||
int cp_rev; /* invert comparison flag */
|
||||
struct cmplist *cp_next; /* next in chain */
|
||||
};
|
||||
|
||||
@@ -47,25 +47,24 @@ 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;
|
||||
|
||||
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>
|
||||
@@ -99,10 +98,10 @@ if (1) CODE; else
|
||||
#endif
|
||||
|
||||
/* psort.c */
|
||||
extern bool psort_begin(Sort * node, int nkeys, ScanKey key);
|
||||
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 void psort_markpos(Sort * node);
|
||||
extern void psort_restorepos(Sort * node);
|
||||
extern void psort_end(Sort * node);
|
||||
|
||||
#endif /* PSORT_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: rel.h,v 1.10 1997/09/07 05:02:54 momjian Exp $
|
||||
* $Id: rel.h,v 1.11 1997/09/08 02:39:55 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -22,47 +22,47 @@
|
||||
|
||||
typedef struct Trigger
|
||||
{
|
||||
char *tgname;
|
||||
Oid tgfoid;
|
||||
func_ptr tgfunc;
|
||||
int16 tgtype;
|
||||
int16 tgnargs;
|
||||
int16 tgattr[8];
|
||||
char **tgargs;
|
||||
} 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;
|
||||
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;
|
||||
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;
|
||||
|
||||
@@ -76,7 +76,7 @@ typedef Relation *RelationPtr;
|
||||
|
||||
#define InvalidRelation ((Relation)NULL)
|
||||
|
||||
typedef char ArchiveMode;
|
||||
typedef char ArchiveMode;
|
||||
|
||||
/*
|
||||
* RelationIsValid --
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: relcache.h,v 1.7 1997/09/07 05:03:00 momjian Exp $
|
||||
* $Id: relcache.h,v 1.8 1997/09/08 02:39:56 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -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);
|
||||
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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: sets.h,v 1.2 1997/09/07 05:03:01 momjian Exp $
|
||||
* $Id: sets.h,v 1.3 1997/09/08 02:39:58 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 */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: syscache.h,v 1.5 1997/09/07 05:03:02 momjian Exp $
|
||||
* $Id: syscache.h,v 1.6 1997/09/08 02:39:58 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -16,7 +16,7 @@
|
||||
#include <access/attnum.h>
|
||||
#include <access/htup.h>
|
||||
|
||||
/*#define CACHEDEBUG*//* turns DEBUG elogs on */
|
||||
/* #define CACHEDEBUG *//* turns DEBUG elogs on */
|
||||
|
||||
|
||||
/*
|
||||
@@ -66,32 +66,32 @@
|
||||
*/
|
||||
struct cachedesc
|
||||
{
|
||||
char *name; /* this is Name * so that we can
|
||||
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
|
||||
int nkeys;
|
||||
int key[4];
|
||||
int size; /* sizeof(appropriate struct) */
|
||||
char *indname; /* index relation for this cache, if
|
||||
* exists */
|
||||
HeapTuple(*iScanFunc) (); /* function to handle
|
||||
HeapTuple(*iScanFunc) (); /* function to handle
|
||||
* index scans */
|
||||
};
|
||||
|
||||
extern void zerocaches(void);
|
||||
extern void InitCatalogCache(void);
|
||||
extern HeapTuple
|
||||
extern void zerocaches(void);
|
||||
extern void InitCatalogCache(void);
|
||||
extern HeapTuple
|
||||
SearchSysCacheTuple(int cacheId, Datum key1, Datum key2,
|
||||
Datum key3, Datum key4);
|
||||
extern int32
|
||||
extern int32
|
||||
SearchSysCacheStruct(int cacheId, char *returnStruct,
|
||||
Datum key1, Datum key2, Datum key3, Datum key4);
|
||||
extern void *
|
||||
extern void *
|
||||
SearchSysCacheGetAttribute(int cacheId,
|
||||
AttrNumber attributeNumber,
|
||||
Datum key1,
|
||||
Datum key2,
|
||||
Datum key3,
|
||||
Datum key4);
|
||||
extern void *TypeDefaultRetrieve(Oid typId);
|
||||
extern void *TypeDefaultRetrieve(Oid typId);
|
||||
|
||||
#endif /* SYSCACHE_H */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: tqual.h,v 1.7 1997/09/07 05:03:03 momjian Exp $
|
||||
* $Id: tqual.h,v 1.8 1997/09/08 02:39:59 momjian Exp $
|
||||
*
|
||||
* NOTE
|
||||
* It may be desirable to allow time qualifications to indicate
|
||||
@@ -21,8 +21,8 @@
|
||||
|
||||
typedef struct TimeQualSpace
|
||||
{
|
||||
char data[12];
|
||||
} TimeQualSpace;
|
||||
char data[12];
|
||||
} TimeQualSpace;
|
||||
|
||||
typedef Pointer TimeQual;
|
||||
|
||||
@@ -32,14 +32,14 @@ typedef Pointer TimeQual;
|
||||
/* As above, plus updates in this command */
|
||||
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
|
||||
extern TimeQual
|
||||
TimeFormRangedTimeQual(AbsoluteTime startTime,
|
||||
AbsoluteTime endTime);
|
||||
extern bool HeapTupleSatisfiesTimeQual(HeapTuple tuple, TimeQual qual);
|
||||
extern bool HeapTupleSatisfiesTimeQual(HeapTuple tuple, TimeQual qual);
|
||||
|
||||
|
||||
#endif /* TQUAL_H */
|
||||
|
||||
Reference in New Issue
Block a user