|
|
|
|
@ -6,7 +6,7 @@ |
|
|
|
|
* |
|
|
|
|
* Copyright (c) 1994, Regents of the University of California |
|
|
|
|
* |
|
|
|
|
* $Id: builtins.h,v 1.11 1997/03/12 21:28:14 scrappy Exp $ |
|
|
|
|
* $Id: builtins.h,v 1.12 1997/03/14 23:33:18 scrappy Exp $ |
|
|
|
|
* |
|
|
|
|
* NOTES |
|
|
|
|
* This should normally only be included by fmgr.h. |
|
|
|
|
@ -19,7 +19,7 @@ |
|
|
|
|
#define BUILTINS_H |
|
|
|
|
|
|
|
|
|
#include <storage/itemptr.h> |
|
|
|
|
#include <utils/geo-decls.h> |
|
|
|
|
#include <utils/geo_decls.h> |
|
|
|
|
#include <utils/datetime.h> |
|
|
|
|
#include <utils/nabstime.h> |
|
|
|
|
#include <utils/rel.h> |
|
|
|
|
@ -28,10 +28,10 @@ |
|
|
|
|
* Defined in adt/ |
|
|
|
|
*/ |
|
|
|
|
/* bool.c */ |
|
|
|
|
extern int32 boolin(char *b); |
|
|
|
|
extern bool boolin(char *b); |
|
|
|
|
extern char *boolout(long b); |
|
|
|
|
extern int32 booleq(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 boolne(int8 arg1, int8 arg2); |
|
|
|
|
extern bool booleq(int8 arg1, int8 arg2); |
|
|
|
|
extern bool boolne(int8 arg1, int8 arg2); |
|
|
|
|
|
|
|
|
|
/* char.c */ |
|
|
|
|
extern int32 charin(char *ch); |
|
|
|
|
@ -40,49 +40,49 @@ extern int32 cidin(char *s); |
|
|
|
|
extern char *cidout(int32 c); |
|
|
|
|
extern char *char16in(char *s); |
|
|
|
|
extern char *char16out(char *s); |
|
|
|
|
extern int32 chareq(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 charne(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 charlt(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 charle(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 chargt(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 charge(int8 arg1, int8 arg2); |
|
|
|
|
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 int32 cideq(int8 arg1, int8 arg2); |
|
|
|
|
extern int32 char16eq(char *arg1, char *arg2); |
|
|
|
|
extern int32 char16ne(char *arg1, char *arg2); |
|
|
|
|
extern int32 char16lt(char *arg1, char *arg2); |
|
|
|
|
extern int32 char16le(char *arg1, char *arg2); |
|
|
|
|
extern int32 char16gt(char *arg1, char *arg2); |
|
|
|
|
extern int32 char16ge(char *arg1, char *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 int32 char2eq(uint16 a, uint16 b); |
|
|
|
|
extern int32 char2ne(uint16 a, uint16 b); |
|
|
|
|
extern int32 char2lt(uint16 a, uint16 b); |
|
|
|
|
extern int32 char2le(uint16 a, uint16 b); |
|
|
|
|
extern int32 char2gt(uint16 a, uint16 b); |
|
|
|
|
extern int32 char2ge(uint16 a, uint16 b); |
|
|
|
|
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 int32 char4eq(uint32 a, uint32 b); |
|
|
|
|
extern int32 char4ne(uint32 a, uint32 b); |
|
|
|
|
extern int32 char4lt(uint32 a, uint32 b); |
|
|
|
|
extern int32 char4le(uint32 a, uint32 b); |
|
|
|
|
extern int32 char4gt(uint32 a, uint32 b); |
|
|
|
|
extern int32 char4ge(uint32 a, uint32 b); |
|
|
|
|
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 int32 char8eq(char *arg1, char *arg2); |
|
|
|
|
extern int32 char8ne(char *arg1, char *arg2); |
|
|
|
|
extern int32 char8lt(char *arg1, char *arg2); |
|
|
|
|
extern int32 char8le(char *arg1, char *arg2); |
|
|
|
|
extern int32 char8gt(char *arg1, char *arg2); |
|
|
|
|
extern int32 char8ge(char *arg1, char *arg2); |
|
|
|
|
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 */ |
|
|
|
|
@ -96,31 +96,31 @@ extern int32 int4in(char *num); |
|
|
|
|
extern char *int4out(int32 l); |
|
|
|
|
extern int32 i2toi4(int16 arg1); |
|
|
|
|
extern int16 i4toi2(int32 arg1); |
|
|
|
|
extern int32 int4eq(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int4ne(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int4lt(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int4le(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int4gt(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int4ge(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int2eq(int16 arg1, int16 arg2); |
|
|
|
|
extern int32 int2ne(int16 arg1, int16 arg2); |
|
|
|
|
extern int32 int2lt(int16 arg1, int16 arg2); |
|
|
|
|
extern int32 int2le(int16 arg1, int16 arg2); |
|
|
|
|
extern int32 int2gt(int16 arg1, int16 arg2); |
|
|
|
|
extern int32 int2ge(int16 arg1, int16 arg2); |
|
|
|
|
extern int32 int24eq(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int24ne(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int24lt(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int24le(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int24gt(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int24ge(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int42eq(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int42ne(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int42lt(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int42le(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int42gt(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 int42ge(int32 arg1, int32 arg2); |
|
|
|
|
extern int32 keyfirsteq(int16 *arg1, int16 arg2); |
|
|
|
|
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); |
|
|
|
|
@ -155,12 +155,12 @@ extern int32 int4smaller(int32 arg1, int32 arg2); |
|
|
|
|
/* name.c */ |
|
|
|
|
extern NameData *namein(char *s); |
|
|
|
|
extern char *nameout(NameData *s); |
|
|
|
|
extern int32 nameeq(NameData *arg1, NameData *arg2); |
|
|
|
|
extern int32 namene(NameData *arg1, NameData *arg2); |
|
|
|
|
extern int32 namelt(NameData *arg1, NameData *arg2); |
|
|
|
|
extern int32 namele(NameData *arg1, NameData *arg2); |
|
|
|
|
extern int32 namegt(NameData *arg1, NameData *arg2); |
|
|
|
|
extern int32 namege(NameData *arg1, NameData *arg2); |
|
|
|
|
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 namecat(Name n1, Name n2); |
|
|
|
|
@ -184,28 +184,28 @@ extern int atof1(char *str, double *val); |
|
|
|
|
* 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); |
|
|
|
|
|
|
|
|
|
@ -231,29 +231,31 @@ extern AbsoluteTime timemi(AbsoluteTime t1, RelativeTime t2); |
|
|
|
|
extern int ininterval(AbsoluteTime t, TimeInterval interval); |
|
|
|
|
extern RelativeTime intervalrel(TimeInterval interval); |
|
|
|
|
extern AbsoluteTime timenow(void); |
|
|
|
|
extern int32 reltimeeq(RelativeTime t1, RelativeTime t2); |
|
|
|
|
extern int32 reltimene(RelativeTime t1, RelativeTime t2); |
|
|
|
|
extern int32 reltimelt(RelativeTime t1, RelativeTime t2); |
|
|
|
|
extern int32 reltimegt(RelativeTime t1, RelativeTime t2); |
|
|
|
|
extern int32 reltimele(RelativeTime t1, RelativeTime t2); |
|
|
|
|
extern int32 reltimege(RelativeTime t1, RelativeTime t2); |
|
|
|
|
extern int32 intervaleq(TimeInterval i1, TimeInterval i2); |
|
|
|
|
extern int32 intervalleneq(TimeInterval i, RelativeTime t); |
|
|
|
|
extern int32 intervallenne(TimeInterval i, RelativeTime t); |
|
|
|
|
extern int32 intervallenlt(TimeInterval i, RelativeTime t); |
|
|
|
|
extern int32 intervallengt(TimeInterval i, RelativeTime t); |
|
|
|
|
extern int32 intervallenle(TimeInterval i, RelativeTime t); |
|
|
|
|
extern int32 intervallenge(TimeInterval i, RelativeTime t); |
|
|
|
|
extern int32 intervalct(TimeInterval i1, TimeInterval i2); |
|
|
|
|
extern int32 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, int *sign, long *quantity, int *unitnr); |
|
|
|
|
extern text *timeofday(void); |
|
|
|
|
|
|
|
|
|
/* dt.c */ |
|
|
|
|
extern int32 dtin(char *datetime); |
|
|
|
|
extern char *dtout(int32 datetime); |
|
|
|
|
extern DateTime *datetime_in(char *str); |
|
|
|
|
extern char *datetime_out(DateTime *datetime); |
|
|
|
|
extern TimeSpan *timespan_in(char *str); |
|
|
|
|
extern char *timespan_out(TimeSpan *timespan); |
|
|
|
|
|
|
|
|
|
/* filename.c */ |
|
|
|
|
extern char *filename_in(char *file); |
|
|
|
|
@ -325,7 +327,7 @@ extern long float84le(float64 arg1, float32 arg2); |
|
|
|
|
extern long float84gt(float64 arg1, float32 arg2); |
|
|
|
|
extern long float84ge(float64 arg1, float32 arg2); |
|
|
|
|
|
|
|
|
|
/* geo-ops.c, geo-selfuncs.c */ |
|
|
|
|
/* geo_ops.c, geo_selfuncs.c */ |
|
|
|
|
|
|
|
|
|
/* misc.c */ |
|
|
|
|
extern bool NullValue(Datum value, bool *isNull); |
|
|
|
|
@ -344,9 +346,9 @@ extern Oid *oid8in(char *oidString); |
|
|
|
|
extern char *oid8out(Oid (*oidArray)[]); |
|
|
|
|
extern Oid oidin(char *s); |
|
|
|
|
extern char *oidout(Oid o); |
|
|
|
|
extern int32 oideq(Oid arg1, Oid arg2); |
|
|
|
|
extern int32 oidne(Oid arg1, Oid arg2); |
|
|
|
|
extern int32 oid8eq(Oid arg1[], Oid arg2[]); |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|
@ -420,19 +422,19 @@ 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 int32 bpchareq(char *arg1, char *arg2); |
|
|
|
|
extern int32 bpcharne(char *arg1, char *arg2); |
|
|
|
|
extern int32 bpcharlt(char *arg1, char *arg2); |
|
|
|
|
extern int32 bpcharle(char *arg1, char *arg2); |
|
|
|
|
extern int32 bpchargt(char *arg1, char *arg2); |
|
|
|
|
extern int32 bpcharge(char *arg1, char *arg2); |
|
|
|
|
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 int32 varchareq(char *arg1, char *arg2); |
|
|
|
|
extern int32 varcharne(char *arg1, char *arg2); |
|
|
|
|
extern int32 varcharlt(char *arg1, char *arg2); |
|
|
|
|
extern int32 varcharle(char *arg1, char *arg2); |
|
|
|
|
extern int32 varchargt(char *arg1, char *arg2); |
|
|
|
|
extern int32 varcharge(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); |
|
|
|
|
@ -445,41 +447,63 @@ extern struct varlena *textin(char *inputText); |
|
|
|
|
extern char *textout(struct varlena *vlena); |
|
|
|
|
extern int textlen (text* t); |
|
|
|
|
extern text *textcat(text* t1, text* t2); |
|
|
|
|
extern int32 texteq(struct varlena *arg1, struct varlena *arg2); |
|
|
|
|
extern int32 textne(struct varlena *arg1, struct varlena *arg2); |
|
|
|
|
extern int32 text_lt(struct varlena *arg1, struct varlena *arg2); |
|
|
|
|
extern int32 text_le(struct varlena *arg1, struct varlena *arg2); |
|
|
|
|
extern int32 text_gt(struct varlena *arg1, struct varlena *arg2); |
|
|
|
|
extern int32 text_ge(struct varlena *arg1, struct varlena *arg2); |
|
|
|
|
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 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); |
|
|
|
|
|
|
|
|
|
/* datetimes.c */ |
|
|
|
|
/* datetime.c */ |
|
|
|
|
#if USE_NEW_DATE |
|
|
|
|
|
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
|
|
extern int4 date_in(char *datestr); |
|
|
|
|
extern char *date_out(int4 dateVal); |
|
|
|
|
extern int date_eq(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int date_ne(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int date_lt(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int date_le(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int date_gt(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int date_ge(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern bool date_eq(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern bool date_ne(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern bool date_lt(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern bool date_le(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern bool date_gt(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern bool date_ge(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int date_cmp(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int4 date_larger(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int4 date_smaller(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int32 date_mi(int4 dateVal1, int4 dateVal2); |
|
|
|
|
extern int4 date_pli(int4 dateVal, int32 days); |
|
|
|
|
extern int4 date_mii(int4 dateVal, int32 days); |
|
|
|
|
extern char *time_in(char *timestr); |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
extern TimeADT *time_in(char *timestr); |
|
|
|
|
extern char *time_out(TimeADT *time); |
|
|
|
|
extern int time_eq(TimeADT *time1, TimeADT *time2); |
|
|
|
|
extern int time_ne(TimeADT *time1, TimeADT *time2); |
|
|
|
|
extern int time_lt(TimeADT *time1, TimeADT *time2); |
|
|
|
|
extern int time_le(TimeADT *time1, TimeADT *time2); |
|
|
|
|
extern int time_gt(TimeADT *time1, TimeADT *time2); |
|
|
|
|
extern int time_ge(TimeADT *time1, TimeADT *time2); |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|
|