head	1.67;
access;
symbols
	Version_2_1:1.36
	Version_2:1.21
	C_Demo_1:1.15;
locks; strict;
comment	@ * @;


1.67
date	92.07.28.19.12.27;	author mao;	state Exp;
branches;
next	1.66;

1.66
date	92.07.12.23.12.33;	author joey;	state Exp;
branches;
next	1.65;

1.65
date	92.07.04.04.36.28;	author mer;	state Exp;
branches;
next	1.64;

1.64
date	92.06.25.22.03.29;	author sunita;	state Exp;
branches;
next	1.63;

1.63
date	92.05.18.18.49.18;	author mer;	state Exp;
branches;
next	1.62;

1.62
date	92.05.08.23.54.00;	author mer;	state Exp;
branches;
next	1.61;

1.61
date	92.05.08.08.58.19;	author mer;	state Exp;
branches;
next	1.60;

1.60
date	92.03.02.21.28.26;	author mer;	state Exp;
branches;
next	1.59;

1.59
date	92.02.19.01.51.53;	author mer;	state Exp;
branches;
next	1.58;

1.58
date	92.01.30.20.37.31;	author mer;	state Exp;
branches;
next	1.57;

1.57
date	92.01.13.02.22.35;	author mao;	state Exp;
branches;
next	1.56;

1.56
date	91.12.10.05.18.36;	author mao;	state Exp;
branches;
next	1.55;

1.55
date	91.11.18.16.54.05;	author clarsen;	state Exp;
branches;
next	1.54;

1.54
date	91.11.09.01.43.32;	author mer;	state Exp;
branches;
next	1.53;

1.53
date	91.11.06.04.31.02;	author mer;	state Exp;
branches;
next	1.52;

1.52
date	91.11.05.06.14.44;	author mao;	state Exp;
branches;
next	1.51;

1.51
date	91.11.05.05.46.20;	author mer;	state Exp;
branches;
next	1.50;

1.50
date	91.08.15.17.55.12;	author caetta;	state Exp;
branches;
next	1.49;

1.49
date	91.08.09.20.37.13;	author kemnitz;	state Exp;
branches;
next	1.48;

1.48
date	91.07.03.00.48.06;	author mao;	state Exp;
branches;
next	1.47;

1.47
date	91.06.26.19.21.11;	author mao;	state Exp;
branches;
next	1.46;

1.46
date	91.05.22.14.00.25;	author kemnitz;	state Exp;
branches;
next	1.45;

1.45
date	91.05.09.13.36.18;	author mer;	state Exp;
branches;
next	1.44;

1.44
date	91.05.08.14.13.55;	author mer;	state Exp;
branches;
next	1.43;

1.43
date	91.05.07.23.46.26;	author kemnitz;	state Exp;
branches;
next	1.42;

1.42
date	91.05.04.16.20.45;	author mer;	state Exp;
branches;
next	1.41;

1.41
date	91.04.26.10.50.42;	author mao;	state Exp;
branches;
next	1.40;

1.40
date	91.04.24.19.07.26;	author mao;	state Exp;
branches;
next	1.39;

1.39
date	91.04.04.18.13.08;	author kemnitz;	state Exp;
branches;
next	1.38;

1.38
date	91.03.26.11.01.41;	author kemnitz;	state Exp;
branches;
next	1.37;

1.37
date	91.03.16.17.26.45;	author sp;	state Exp;
branches;
next	1.36;

1.36
date	91.03.03.00.36.58;	author mao;	state Exp;
branches;
next	1.35;

1.35
date	91.02.27.17.55.14;	author kemnitz;	state Exp;
branches;
next	1.34;

1.34
date	91.02.27.17.49.04;	author kemnitz;	state Exp;
branches;
next	1.33;

1.33
date	91.02.24.09.07.56;	author mao;	state Exp;
branches;
next	1.32;

1.32
date	91.02.19.13.55.47;	author mao;	state Exp;
branches;
next	1.31;

1.31
date	91.02.19.13.51.29;	author cimarron;	state Exp;
branches;
next	1.30;

1.30
date	91.02.19.13.44.57;	author mao;	state Exp;
branches;
next	1.29;

1.29
date	91.02.18.14.42.21;	author kemnitz;	state Exp;
branches;
next	1.28;

1.28
date	91.02.05.15.46.05;	author sp;	state Exp;
branches;
next	1.27;

1.27
date	91.01.22.19.40.23;	author mao;	state Exp;
branches;
next	1.26;

1.26
date	90.10.15.23.25.50;	author cimarron;	state Exp;
branches;
next	1.25;

1.25
date	90.08.18.00.40.53;	author cimarron;	state Exp;
branches;
next	1.24;

1.24
date	90.08.17.08.53.54;	author cimarron;	state Exp;
branches;
next	1.23;

1.23
date	90.08.01.14.33.00;	author sp;	state Exp;
branches;
next	1.22;

1.22
date	90.07.31.12.40.12;	author mao;	state Exp;
branches;
next	1.21;

1.21
date	90.07.13.12.37.11;	author kemnitz;	state Version_2;
branches;
next	1.20;

1.20
date	90.06.05.23.28.29;	author kemnitz;	state Exp;
branches;
next	1.19;

1.19
date	90.05.20.18.01.31;	author sp;	state Exp;
branches;
next	1.18;

1.18
date	90.05.15.13.04.15;	author mao;	state Exp;
branches;
next	1.17;

1.17
date	90.03.13.21.05.57;	author kemnitz;	state Exp;
branches;
next	1.16;

1.16
date	89.10.31.14.02.36;	author mao;	state Exp;
branches;
next	1.15;

1.15
date	89.09.05.17.04.18;	author mao;	state C_Demo_1;
branches;
next	1.14;

1.14
date	89.08.21.15.57.13;	author mao;	state Exp;
branches;
next	1.13;

1.13
date	89.08.21.13.35.18;	author mao;	state Exp;
branches;
next	1.12;

1.12
date	89.08.09.16.58.01;	author mao;	state Exp;
branches;
next	1.11;

1.11
date	89.08.09.16.20.46;	author mao;	state Exp;
branches;
next	1.10;

1.10
date	89.08.09.16.01.40;	author mao;	state Exp;
branches;
next	1.9;

1.9
date	89.08.01.14.14.20;	author mao;	state Exp;
branches;
next	1.8;

1.8
date	89.08.01.11.32.32;	author mao;	state Exp;
branches;
next	1.7;

1.7
date	89.07.20.16.33.50;	author mao;	state Exp;
branches;
next	1.6;

1.6
date	89.07.20.13.19.00;	author mao;	state Exp;
branches;
next	1.5;

1.5
date	89.04.12.19.53.11;	author dillon;	state Exp;
branches;
next	1.4;

1.4
date	89.03.02.17.25.04;	author muir;	state Stab;
branches;
next	1.3;

1.3
date	89.01.20.02.08.08;	author aoki;	state Exp;
branches;
next	1.2;

1.2
date	89.01.19.23.09.02;	author aoki;	state Exp;
branches;
next	1.1;

1.1
date	89.01.17.05.53.52;	author cimarron;	state Exp;
branches;
next	;


desc
@@


1.67
log
@add int4, int2 uminus routines
@
text
@/*
 * builtins.h --
 *	Declarations for operations on built-in types.
 *
 * Notes:
 *	This should normally only be included by fmgr.h.
 *	Under no circumstances should it ever be included before 
 *	including fmgr.h!
 *
 * Identification:
 *	$Header: /private/mao/postgres/src/lib/H/utils/RCS/builtins.h,v 1.66 1992/07/12 23:12:33 joey Exp mao $
 */

#ifndef BuiltinsIncluded
#define BuiltinsIncluded

#include "tmp/postgres.h"

#include "rules/prs2locks.h"	
#include "rules/prs2stub.h"	

#include "storage/itemptr.h"

#include "utils/large_object.h"

#include "utils/geo-decls.h"


/*
 *	Defined in adt/
 */
/* bool.c */
int32 boolin ARGS((char *b ));
char *boolout ARGS((long b ));

/* char.c */
int32 charin ARGS((char *ch ));
char *charout ARGS((int32 ch ));
int32 cidin ARGS((char *s ));
char *cidout ARGS((int32 c ));
int32 chareq ARGS((int8 arg1 , int8 arg2 ));
int32 charne ARGS((int8 arg1 , int8 arg2 ));
int32 charlt ARGS((int8 arg1 , int8 arg2 ));
int32 charle ARGS((int8 arg1 , int8 arg2 ));
int32 chargt ARGS((int8 arg1 , int8 arg2 ));
int32 charge ARGS((int8 arg1 , int8 arg2 ));
int32 charpl ARGS((int8 arg1 , int8 arg2 ));
int32 charmi ARGS((int8 arg1 , int8 arg2 ));
int32 charmul ARGS((int8 arg1 , int8 arg2 ));
int32 chardiv ARGS((int8 arg1 , int8 arg2 ));
char *char16in ARGS((char *s ));
char *char16out ARGS((char *s ));
int32 char16eq ARGS((char *arg1 , char *arg2 ));
int32 char16ne ARGS((char *arg1 , char *arg2 ));
int32 char16lt ARGS((char *arg1 , char *arg2 ));
int32 char16le ARGS((char *arg1 , char *arg2 ));
int32 char16gt ARGS((char *arg1 , char *arg2 ));
int32 char16ge ARGS((char *arg1 , char *arg2 ));
char *pg_username ARGS((void));

/* int.c */
int32 int2in ARGS((char *num ));
char *int2out ARGS((int16 sh ));
int16 *int28in ARGS((char *shs ));
char *int28out ARGS((int16 (*shs )[]));
int32 *int44in ARGS((char *input_string ));
char *int44out ARGS((int32 an_array []));
int32 int4in ARGS((char *num ));
char *int4out ARGS((int32 l ));
int32 itoi ARGS((int32 arg1 ));
int32 int4eq ARGS((int32 arg1 , int32 arg2 ));
int32 int4ne ARGS((int32 arg1 , int32 arg2 ));
int32 int4lt ARGS((int32 arg1 , int32 arg2 ));
int32 int4le ARGS((int32 arg1 , int32 arg2 ));
int32 int4gt ARGS((int32 arg1 , int32 arg2 ));
int32 int4ge ARGS((int32 arg1 , int32 arg2 ));
int32 keyfirsteq ARGS((int16 *arg1 , int16 arg2 ));
int32 int2eq ARGS((int16 arg1 , int16 arg2 ));
int32 int2ne ARGS((int16 arg1 , int16 arg2 ));
int32 int2lt ARGS((int16 arg1 , int16 arg2 ));
int32 int2le ARGS((int16 arg1 , int16 arg2 ));
int32 int2gt ARGS((int16 arg1 , int16 arg2 ));
int32 int2ge ARGS((int16 arg1 , int16 arg2 ));
int32 int4um ARGS((int32 arg ));
int32 int4pl ARGS((int32 arg1 , int32 arg2 ));
int32 int4mi ARGS((int32 arg1 , int32 arg2 ));
int32 int4mul ARGS((int32 arg1 , int32 arg2 ));
int32 int4div ARGS((int32 arg1 , int32 arg2 ));
int32 int4inc ARGS((int32 arg ));
int16 int2um ARGS((int16 arg ));
int16 int2pl ARGS((int16 arg1 , int16 arg2 ));
int16 int2mi ARGS((int16 arg1 , int16 arg2 ));
int16 int2mul ARGS((int16 arg1 , int16 arg2 ));
int16 int2div ARGS((int16 arg1 , int16 arg2 ));
int16 int2inc ARGS((int16 arg ));
int32 int2larger ARGS((int16 arg1 , int16 arg2 ));
int32 int2smaller ARGS((int16 arg1 , int16 arg2 ));
int32 int4larger ARGS((int32 arg1 , int32 arg2 ));
int32 int4smaller ARGS((int32 arg1 , int32 arg2 ));

extern int32		inteq();
extern int32		intne();
extern int32		intlt();
extern int32		intle();
extern int32		intgt();
extern int32		intge();
extern int32		intpl();
extern int32		intmi();
extern int32		intdiv();

int32 int4mod ARGS((int32 arg1 , int32 arg2 ));
int32 int2mod ARGS((int16 arg1 , int16 arg2 ));
int32 int4fac ARGS((int32 arg1 ));
int32 int2fac ARGS((int16 arg1 ));
extern int32		intmod();

/*
 *  	New btree code.
 *	Defined in nbtree/
 */
extern char		*btgettuple();
extern char		*btinsert();
extern char		*btdelete();
extern char		*btgetnext();
extern char		*btbeginscan();
extern void		btendscan();
extern void		btbuild();
extern void		btmarkpos();
extern void		btrestrpos();
extern void		btrescan();
extern char		*nobtgettuple();
extern char		*nobtinsert();
extern char		*nobtdelete();
extern char		*nobtgetnext();
extern char		*nobtbeginscan();
extern void		nobtendscan();
extern void		nobtbuild();
extern void		nobtmarkpos();
extern void		nobtrestrpos();
extern void		nobtrescan();

/*
 *	Per-opclass comparison functions for new btrees.  These are
 *	stored in pg_amproc and defined in nbtree/
 */
extern int32		btint2cmp();
extern int32		btint4cmp();
extern int32		btint24cmp();
extern int32		btint42cmp();
extern int32		btfloat4cmp();
extern int32		btfloat8cmp();
extern int32		btoidcmp();
extern int32		btabstimecmp();
extern int32		btcharcmp();
extern int32		btchar16cmp();
extern int32		bttextcmp();

/*
 *	RTree code.
 *	Defined in access/index-rtree/
 */
extern char		*rtinsert();
extern char		*rtdelete();
extern char		*rtgettuple();
extern char		*rtbeginscan();
extern void		rtendscan();
extern void		rtreebuild();
extern void		rtmarkpos();
extern void		rtrestrpos();
extern void		rtrescan();
extern void		rtbuild();

/* support routines for the rtree access method, by opclass */
extern BOX		*rt_box_union();
extern BOX		*rt_box_inter();
extern int		rt_box_size();
extern int		rt_bigbox_size();
extern int		rt_poly_size();
extern POLYGON	*rt_poly_union();
extern POLYGON	*rt_poly_inter();

/* projection utilities */
extern char *GetAttributeByName();
extern char *GetAttributeByNum();


extern int32 pqtest();

/* arrayfuncs.c */
char *array_in ARGS((char *string , ObjectId element_type ));
char *array_out ARGS((char *items , ObjectId element_type ));

/* date.c */
AbsoluteTime nabstimein ARGS((char *datetime ));
char *nabstimeout ARGS((AbsoluteTime datetime ));
int32 reltimein ARGS((char *timestring ));
char *reltimeout ARGS((int32 timevalue ));
int32 reltimeeq ARGS((RelativeTime t1 , RelativeTime t2 ));
int32 reltimene ARGS((RelativeTime t1 , RelativeTime t2 ));
int32 reltimelt ARGS((int32 t1 , int32 t2 ));
int32 reltimegt ARGS((int32 t1 , int32 t2 ));
int32 reltimele ARGS((int32 t1 , int32 t2 ));
int32 reltimege ARGS((int32 t1 , int32 t2 ));
AbsoluteTime timepl ARGS((AbsoluteTime AbsTime_t1 , RelativeTime RelTime_t2 ));
int32 abstimeeq ARGS((AbsoluteTime t1 , AbsoluteTime t2 ));
int32 abstimene ARGS((AbsoluteTime t1 , AbsoluteTime t2 ));
int32 abstimelt ARGS((int32 t1 , int32 t2 ));
int32 abstimegt ARGS((int32 t1 , int32 t2 ));
int32 abstimele ARGS((int32 t1 , int32 t2 ));
int32 abstimege ARGS((int32 t1 , int32 t2 ));
TimeInterval tintervalin ARGS((char *intervalstr ));
char *tintervalout ARGS((TimeInterval interval ));
int ininterval ARGS((int32 t , TimeInterval interval ));
RelativeTime intervalrel ARGS((TimeInterval interval ));
int32 intervaleq ARGS((TimeInterval i1 , TimeInterval i2 ));
int32 intervalct ARGS((TimeInterval i1 , TimeInterval i2 ));
int32 intervalov ARGS((TimeInterval i1 , TimeInterval i2 ));
int32 intervalleneq ARGS((TimeInterval i , RelativeTime t ));
int32 intervallenne ARGS((TimeInterval i , RelativeTime t ));
int32 intervallenlt ARGS((TimeInterval i , RelativeTime t ));
int32 intervallengt ARGS((TimeInterval i , RelativeTime t ));
int32 intervallenle ARGS((TimeInterval i , RelativeTime t ));
int32 intervallenge ARGS((TimeInterval i , RelativeTime t ));
AbsoluteTime intervalstart ARGS((TimeInterval i ));
AbsoluteTime intervalend ARGS((TimeInterval i ));
AbsoluteTime timemi ARGS((AbsoluteTime AbsTime_t1 , RelativeTime RelTime_t2 ));
AbsoluteTime timenow ARGS((void ));


/* dt.c */
int32 dtin ARGS((char *datetime ));
char *dtout ARGS((int32 datetime ));

/* filename.c */
char *filename_in ARGS((char *file ));
char *filename_out ARGS((char *s ));

/* float.c */
float32 float4in ARGS((char *num ));
char *float4out ARGS((float32 num ));
float64 float8in ARGS((char *num ));
char *float8out ARGS((float64 num ));
float32 float4abs ARGS((float32 arg1 ));
float32 float4um ARGS((float32 arg1 ));
float32 float4larger ARGS((float32 arg1 , float32 arg2 ));
float32 float4smaller ARGS((float32 arg1 , float32 arg2 ));
float64 float8abs ARGS((float64 arg1 ));
float64 float8um ARGS((float64 arg1 ));
float64 float8larger ARGS((float64 arg1 , float64 arg2 ));
float64 float8smaller ARGS((float64 arg1 , float64 arg2 ));
float32 float4pl ARGS((float32 arg1 , float32 arg2 ));
float32 float4mi ARGS((float32 arg1 , float32 arg2 ));
float32 float4mul ARGS((float32 arg1 , float32 arg2 ));
float32 float4div ARGS((float32 arg1 , float32 arg2 ));
float32 float4inc ARGS((float32 arg1 ));
float64 float8pl ARGS((float64 arg1 , float64 arg2 ));
float64 float8mi ARGS((float64 arg1 , float64 arg2 ));
float64 float8mul ARGS((float64 arg1 , float64 arg2 ));
float64 float8div ARGS((float64 arg1 , float64 arg2 ));
float64 float8inc ARGS((float64 arg1 ));
long float4eq ARGS((float32 arg1 , float32 arg2 ));
long float4ne ARGS((float32 arg1 , float32 arg2 ));
long float4lt ARGS((float32 arg1 , float32 arg2 ));
long float4le ARGS((float32 arg1 , float32 arg2 ));
long float4gt ARGS((float32 arg1 , float32 arg2 ));
long float4ge ARGS((float32 arg1 , float32 arg2 ));
long float8eq ARGS((float64 arg1 , float64 arg2 ));
long float8ne ARGS((float64 arg1 , float64 arg2 ));
long float8lt ARGS((float64 arg1 , float64 arg2 ));
long float8le ARGS((float64 arg1 , float64 arg2 ));
long float8gt ARGS((float64 arg1 , float64 arg2 ));
long float8ge ARGS((float64 arg1 , float64 arg2 ));
float64 ftod ARGS((float32 num ));
float32 dtof ARGS((float64 num ));
float64 dround ARGS((float64 arg1 ));
float64 dtrunc ARGS((float64 arg1 ));
float64 dsqrt ARGS((float64 arg1 ));
float64 dcbrt ARGS((float64 arg1 ));
float64 dpow ARGS((float64 arg1 , float64 arg2 ));
float64 dexp ARGS((float64 arg1 ));
float64 dlog1 ARGS((float64 arg1 ));
float64 float48pl ARGS((float32 arg1 , float64 arg2 ));
float64 float48mi ARGS((float32 arg1 , float64 arg2 ));
float64 float48mul ARGS((float32 arg1 , float64 arg2 ));
float64 float48div ARGS((float32 arg1 , float64 arg2 ));
float64 float84pl ARGS((float64 arg1 , float32 arg2 ));
float64 float84mi ARGS((float64 arg1 , float32 arg2 ));
float64 float84mul ARGS((float64 arg1 , float32 arg2 ));
float64 float84div ARGS((float64 arg1 , float32 arg2 ));
long float48eq ARGS((float32 arg1 , float64 arg2 ));
long float48ne ARGS((float32 arg1 , float64 arg2 ));
long float48lt ARGS((float32 arg1 , float64 arg2 ));
long float48le ARGS((float32 arg1 , float64 arg2 ));
long float48gt ARGS((float32 arg1 , float64 arg2 ));
long float48ge ARGS((float32 arg1 , float64 arg2 ));
long float84eq ARGS((float64 arg1 , float32 arg2 ));
long float84ne ARGS((float64 arg1 , float32 arg2 ));
long float84lt ARGS((float64 arg1 , float32 arg2 ));
long float84le ARGS((float64 arg1 , float32 arg2 ));
long float84gt ARGS((float64 arg1 , float32 arg2 ));
long float84ge ARGS((float64 arg1 , float32 arg2 ));

/* in utils/adt/ftype.c -- mao's stuff */
ObjectId fimport ARGS((struct varlena *name ));
int32 fexport ARGS((struct varlena *name , ObjectId foid ));
int32 fabstract ARGS((struct varlena *name , ObjectId foid , int32 blksize , int32 offset , int32 size ));

/* geo-ops.c */
BOX *box_in ARGS((char *str ));
char *box_out ARGS((BOX *box ));
long box_same ARGS((BOX *box1 , BOX *box2 ));
long box_overlap ARGS((BOX *box1 , BOX *box2 ));
long box_overleft ARGS((BOX *box1 , BOX *box2 ));
long box_left ARGS((BOX *box1 , BOX *box2 ));
long box_right ARGS((BOX *box1 , BOX *box2 ));
long box_overright ARGS((BOX *box1 , BOX *box2 ));
long box_contained ARGS((BOX *box1 , BOX *box2 ));
long box_contain ARGS((BOX *box1 , BOX *box2 ));
long box_below ARGS((BOX *box1 , BOX *box2 ));
long box_above ARGS((BOX *box1 , BOX *box2 ));
long box_lt ARGS((BOX *box1 , BOX *box2 ));
long box_gt ARGS((BOX *box1 , BOX *box2 ));
long box_eq ARGS((BOX *box1 , BOX *box2 ));
long box_le ARGS((BOX *box1 , BOX *box2 ));
long box_ge ARGS((BOX *box1 , BOX *box2 ));
POINT *box_center ARGS((BOX *box ));
PATH *path_in ARGS((char *str ));
char *path_out ARGS((PATH *path ));
POINT *point_in ARGS((char *str ));
char *point_out ARGS((POINT *pt ));
long point_left ARGS((POINT *pt1 , POINT *pt2 ));
long point_right ARGS((POINT *pt1 , POINT *pt2 ));
long point_above ARGS((POINT *pt1 , POINT *pt2 ));
long point_below ARGS((POINT *pt1 , POINT *pt2 ));
long point_eq ARGS((POINT *pt1 , POINT *pt2 ));
long pointdist ARGS((POINT *p1 , POINT *p2 ));
LSEG *lseg_in ARGS((char *str ));
char *lseg_out ARGS((LSEG *ls ));
POLYGON *poly_in ARGS((char *s ));
char *poly_out ARGS((POLYGON *poly ));
long poly_left ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_overleft ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_right ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_overright ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_same ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_overlap ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_contain ARGS((POLYGON *polya , POLYGON *polyb ));
long poly_contained ARGS((POLYGON *polya , POLYGON *polyb ));
double *path_distance ARGS((PATH *p1, PATH *p2));
double *dist_ppth ARGS((POINT *pt, PATH *path));

/* geo-selfuncs.c */
float64 areasel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
float64 areajoinsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));

/* lo_regprocs.c */
char *lo_filein ARGS((char *filename ));
char *lo_fileout ARGS((LargeObject *object ));

/* misc.c */
int32 userfntest ARGS((int i ));
bool  NullValue ARGS((Datum value));
bool  NonNullValue ARGS((Datum value));

/* not_in.c */
bool int4notin ARGS((int16 not_in_arg , char *relation_and_attr ));
bool oidnotin ARGS((ObjectId the_oid , char *compare ));

/* oid.c */
ObjectId *oid8in ARGS((char *oidString ));
char *oid8out ARGS((ObjectId (*oidArray )[]));

/* regexp.c */
bool char16regexeq ARGS((char *s , char *p ));
bool char16regexne ARGS((char *s , char *p ));
bool textregexeq ARGS((struct varlena *s , struct varlena *p ));
bool textregexne ARGS((char *s , char *p ));

/* regproc.c */
int32 regprocin ARGS((char *proname ));
char *regprocout ARGS((RegProcedure proid ));
ObjectId RegprocToOid ARGS((RegProcedure rp));

/* selfuncs.c */
float64 eqsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
float64 neqsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , char *value , int32 flag ));
float64 intltsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , int32 value , int32 flag ));
float64 intgtsel ARGS((ObjectId opid , ObjectId relid , AttributeNumber attno , int32 value , int32 flag ));
float64 eqjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
float64 neqjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
float64 intltjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
float64 intgtjoinsel ARGS((ObjectId opid , ObjectId relid1 , AttributeNumber attno1 , ObjectId relid2 , AttributeNumber attno2 ));
/*
 *  Selectivity functions for btrees in utils/adt/selfuncs.c
 */
float64 btreesel ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
float64 btreenpage ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
/*
 *  Selectivity functions for rtrees in utils/adt/selfuncs.c
 */
float64 rtsel ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));
float64 rtnpage ARGS((ObjectId operatorObjectId , ObjectId indrelid , AttributeNumber attributeNumber , char *constValue , int32 constFlag , int32 nIndexKeys , ObjectId indexrelid ));

/* smgr.c */
int2 smgrin ARGS((char *s ));
char *smgrout ARGS((int2 i ));
bool smgreq ARGS((int2 a , int2 b ));
bool smgrne ARGS((int2 a , int2 b ));

/* tid.c */
ItemPointer tidin ARGS((char *str ));
char *tidout ARGS((ItemPointer itemPtr ));

/* varlena.c */
struct varlena *byteain ARGS((char *inputText ));
char *byteaout ARGS((struct varlena *vlena ));
struct varlena *textin ARGS((char *inputText ));
char *textout ARGS((struct varlena *vlena ));
int32 texteq ARGS((struct varlena *arg1 , struct varlena *arg2 ));
int32 textne ARGS((struct varlena *arg1 , struct varlena *arg2 ));
int32 text_lt ARGS((struct varlena *arg1 , struct varlena *arg2 ));
int32 text_le ARGS((struct varlena *arg1 , struct varlena *arg2 ));
int32 text_gt ARGS((struct varlena *arg1 , struct varlena *arg2 ));
int32 text_ge ARGS((struct varlena *arg1 , struct varlena *arg2 ));
int32 byteaGetSize ARGS((struct varlena *v ));
int32 byteaGetByte ARGS((struct varlena *v , int32 n ));
int32 byteaGetBit ARGS((struct varlena *v , int32 n ));
struct varlena *byteaSetByte ARGS((struct varlena *v , int32 n , int32 newByte ));
struct varlena *byteaSetBit ARGS((struct varlena *v , int32 n , int32 newBit ));

     /* be-stubs.c */
int LOopen ARGS((char *fname , int mode ));
int LOclose ARGS((int fd ));
struct varlena *LOread ARGS((int fd , int len ));
int LOwrite ARGS((int fd , struct varlena *wbuf ));
int LOlseek ARGS((int fd , int offset , int whence ));
int LOcreat ARGS((char *path , int mode ));
int LOtell ARGS((int fd ));
int LOftruncate ARGS((void ));
struct varlena *LOstat ARGS((char *path ));
int LOmkdir ARGS((char *path , int mode ));
int LOrmdir ARGS((char *path ));
int LOunlink ARGS((char *path ));

/* naming.c */
oid FilenameToOID ARGS((char *fname ));
oid LOcreatOID ARGS((char *fname , int mode ));
int LOrename ARGS((char *path , char *newpath ));

int pftp_read ARGS((struct varlena *host, int port, oid foid));
oid pftp_write ARGS((struct varlena *host, int port));

#endif !BuiltinsIncluded

@


1.66
log
@change protos of GetAttributeByXxx to match those in libpq-fe.h
@
text
@d11 1
a11 1
 *	$Header: /private/joey/pg/src/lib/H/utils/RCS/builtins.h,v 1.65 1992/07/04 04:36:28 mer Exp joey $
d84 1
d90 8
a97 7
int32 int2pl ARGS((int16 arg1 , int16 arg2 ));
int32 int2mi ARGS((int16 arg1 , int16 arg2 ));
int32 int2mul ARGS((int16 arg1 , int16 arg2 ));
int32 int2div ARGS((int16 arg1 , int16 arg2 ));
int32 int2inc ARGS((int16 arg ));
int16 int2larger ARGS((int16 arg1 , int16 arg2 ));
int16 int2smaller ARGS((int16 arg1 , int16 arg2 ));
@


1.65
log
@change GetAttribute to new tuple accesssing functions
@
text
@d11 1
a11 1
 *	$Header: /private/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.64 1992/06/25 22:03:29 sunita Exp mer $
d180 3
a182 3
/* rule locks */
extern Datum GetAttributeByName();
extern Datum GetAttributeByNum();
@


1.64
log
@Prototypes for 2 ADT functions defined : NullValue() & NonNullValue()
@
text
@d11 1
a11 1
 *	$Header: /home2/sunita/temp/src/lib/H/utils/RCS/builtins.h,v 1.63 1992/05/18 18:49:18 mer Exp sunita $
d181 2
a182 1
extern Datum GetAttribute();
@


1.63
log
@add a couple of new geo-ops functions
@
text
@d11 1
a11 1
 *	$Header: /private/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.62 1992/05/08 23:54:00 mer Exp mer $
d359 2
@


1.62
log
@add more functions to builtins table
@
text
@d11 1
a11 1
 *	$Header: /users/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.61 1992/05/08 08:58:19 mer Exp mer $
d346 2
@


1.61
log
@move reltime functions from date adt file
@
text
@d11 1
a11 1
 *	$Header: /users/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.60 1992/03/02 21:28:26 mer Exp mer $
d208 17
@


1.60
log
@all oidseq defs are in a new file and are now oidint4
@
text
@d11 1
a11 1
 *	$Header: /users/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.59 1992/02/19 01:51:53 mer Exp mer $
d195 6
@


1.59
log
@changes for the new abstime implementation
@
text
@d11 1
a11 1
 *	$Header: /users/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.58 1992/01/30 20:37:31 mer Exp mer $
a341 12

/* oidseq.c */
OidSeq oidseqin ARGS((char *o ));
char *oidseqout ARGS((OidSeq o ));
bool oidseqlt ARGS((OidSeq o1 , OidSeq o2 ));
bool oidseqle ARGS((OidSeq o1 , OidSeq o2 ));
bool oidseqeq ARGS((OidSeq o1 , OidSeq o2 ));
bool oidseqge ARGS((OidSeq o1 , OidSeq o2 ));
bool oidseqgt ARGS((OidSeq o1 , OidSeq o2 ));
bool oidseqne ARGS((OidSeq o1 , OidSeq o2 ));
bool oidseqcmp ARGS((OidSeq o1 , OidSeq o2 ));
OidSeq mkoidseq ARGS((ObjectId v_oid , uint32 v_seq ));
@


1.58
log
@add RegprocToOid casting procedure
@
text
@d11 1
a11 1
 *	$Header: /users/mer/pg/src/lib/H/utils/RCS/builtins.h,v 1.57 1992/01/13 02:22:35 mao Exp mer $
d191 2
a192 2
AbsoluteTime abstimein ARGS((char *datetime ));
char *abstimeout ARGS((AbsoluteTime datetime ));
@


1.57
log
@flatten include file graph
@
text
@d11 1
a11 1
 *	$Header: /n/hermes/usr5/postgres/mao/postgres/src/lib/H/utils/RCS/builtins.h,v 1.56 1991/12/10 05:18:36 mao Exp mao $
d364 1
@


1.56
log
@add interfaces for inversion fs ftp support
@
text
@d11 1
a11 1
 *	$Header: /users/mao/postgres/src/lib/H/utils/RCS/builtins.h,v 1.55 1991/11/18 16:54:05 clarsen Exp mao $
a25 1
#ifdef FMGR_ADT
a26 1
#endif /* FMGR_ADT */
a108 1
#ifdef FMGR_MATH
a113 1
#endif /* FMGR_MATH */
a171 1
#ifdef FMGR_ADT
a178 1
#endif /* FMGR_ADT */
a248 1
#ifdef FMGR_MATH
a275 1
#endif /* FMGR_MATH */
a281 1
#ifdef FMGR_ADT
a326 1
#endif /* FMGR_ADT */
a354 1
#ifdef FMGR_ADT
a359 1
#endif /* FMGR_ADT */
@


1.55
log
@postgres fs additions
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.54 91/11/09 01:43:32 mer Exp Locker: clarsen $
d442 3
@


1.54
log
@major rework of prototypes.  Everything is arranged by file and all formal
parameters are included.
@
text
@d11 1
a11 1
 *	$Header: /users/mer/postgres/src/lib/H/utils/RCS/builtins.h,v 1.53 1991/11/06 04:31:02 mer Exp mer $
d423 20
@


1.53
log
@function prototype error fix
@
text
@d11 1
a11 1
 *	$Header: /users/mer/postgres/src/lib/H/utils/RCS/builtins.h,v 1.52 1991/11/05 06:14:44 mao Exp mer $
d24 2
d34 67
a100 135
extern int32		boolin();
extern char 		*boolout();
extern int32		charin();
extern char		*charout();
extern int32		cidin();
extern char		*cidout();
extern int32		chareq();
extern int32		charne();
extern int32		charlt();
extern int32		charle();
extern int32		chargt();
extern int32		charge();
extern int32		charpl();
extern int32		charmi();
extern int32		charmul();
extern int32		chardiv();

extern char		*char16in();
extern char		*char16out();
extern int32		char16eq();
extern int32		char16ne();
extern int32		char16lt();
extern int32		char16le();
extern int32		char16gt();
extern int32		char16ge();

extern int32		int2eq();
extern int32		int2lt();
extern int32		int4eq();
extern int32		int4lt();
extern int32		int4ne();
extern int32		int2ne();
extern int32		int2gt();
extern int32		int4gt();
extern int32		int2le();
extern int32		int4le();
extern int32		int4ge();
extern int32		int2ge();
extern int32		int2mul();
extern int32		int2div();
extern int32		int4div();
extern int32		int2mod();
extern int32		int2pl();
extern int32		int4pl();
extern int32		int2mi();
extern int32		int4mi();
extern int32		keyfirsteq();
extern Time		abstimein();
extern char		*abstimeout();
extern Time		reltimein();
extern char		*reltimeout();
extern Time		timepl();
extern int32		abstimeeq();
extern int32		abstimene();
extern int32		abstimelt();
extern int32		abstimegt();
extern int32		abstimele();
extern int32		abstimege();
/* XXX Other time stuff goes here ??? */
extern int32		dtin();
extern char		*dtout();
extern float32		float4in();
extern char		*float4out();
extern float32		float4abs();
extern float32		float4um();
extern float64		float8in();
extern char		*float8out();
extern float64		float8abs();
extern float64		float8um();
extern float32		float4pl();
extern float32		float4mi();
extern float32		float4mul();
extern float32		float4inc();
extern float32		float4larger();
extern float32		float4smaller();
extern float32		float4div();
extern float64		float8pl();
extern float64		float8mi();
extern float64 		float8mul();
extern float64 		float8inc();
extern float64 		float8larger();
extern float64 		float8smaller();
extern float64		float8div();
extern int32		float4eq();
extern int32		float4ne();
extern int32		float4lt();
extern int32		float4le();
extern int32		float4gt();
extern int32		float4ge();
extern int32		float8eq();
extern int32		float8ne();
extern int32		float8lt();
extern int32		float8le();
extern int32		float8gt();
extern int32		float8ge();
extern float64		ftod();
extern float32		dtof();
#ifdef FMGR_MATH
extern float64		dround();
extern float64		dtrunc();
extern float64		dsqrt();
extern float64		dcbrt();
extern float64		dpow();
extern float64		dexp();
extern float64		dlog1();
extern float64		float48pl();
extern float64		float48mi();
extern float64		float48mul();
extern float64		float48div();
extern float64		float84pl();
extern float64		float84mi();
extern float64		float84mul();
extern float64		float84div();
extern int32		float48eq();
extern int32		float48ne();
extern int32		float48lt();
extern int32		float48le();
extern int32		float48gt();
extern int32		float48ge();
extern int32		float84eq();
extern int32		float84ne();
extern int32		float84lt();
extern int32		float84le();
extern int32		float84gt();
extern int32		float84ge();
#endif /* FMGR_MATH */
extern int32		int2in();
extern char		*int2out();
extern int16		*int28in();
extern char		*int28out();
extern int32		*int44in();
extern char		*int44out();
extern int32		int4in();
extern char		*int4out();
extern int32		itoi();
a108 1
extern int32		int4mul();
d110 1
d112 4
a116 3
extern int32		int4mod();
extern int32		int4fac();
extern int32		int2fac();
a117 23
extern ObjectId		*oid8in();
extern char		*oid8out();
extern int32		regprocin();
extern char		*regprocout();
extern float64		eqsel();
extern float64		neqsel();
extern float64		intltsel();
extern float64		intgtsel();
extern float64		eqjoinsel();
extern float64		neqjoinsel();
extern float64		intltjoinsel();
extern float64		intgtjoinsel();
extern struct varlena	*byteain();
extern char		*byteaout();

extern struct varlena	*textin();
extern char		*textout();
extern int32		texteq();
extern int32		textne();
extern int32		text_lt();
extern int32		text_le();
extern int32		text_gt();
extern int32		text_ge();
a118 3
extern ItemPointer	tidin();
extern char		*tidout();

a160 6
 *  Selectivity functions for btrees in utils/adt/selfuncs.c
 */
extern float64		btreesel();
extern float64		btreenpage();

/*
a174 6
/*
 *  Selectivity functions for rtrees in utils/adt/selfuncs.c
 */
extern float64		rtsel();
extern float64		rtnpage();

a185 58
/*
 *	Defined in useradt/
 *
 * XXX These shouldn't be here at all -- they shouldn't be built-in.
 */
#ifdef FMGR_ADT
extern POINT	*point_in();
extern char	*point_out();
extern LSEG	*lseg_in();
extern char	*lseg_out();
extern PATH	*path_in();
extern char	*path_out();
extern BOX	*box_in();
extern char	*box_out();
extern long	box_overlap();
extern long	box_same();
extern long	box_contain();
extern long	box_left();
extern long	box_overleft();
extern long	box_overright();
extern long	box_right();
extern long	box_contained();
extern long	box_ge();
extern long	box_gt();
extern long	box_eq();
extern long	box_lt();
extern long	box_le();
extern long	point_above();
extern long	point_left();
extern long	point_right();
extern long	point_below();
extern long	point_eq();
extern long	on_pb();
extern long	on_ppath();
extern POINT	*box_center();
extern POLYGON	*poly_in();
extern char	*poly_out();
extern long	poly_overlap();
extern long	poly_same();
extern long	poly_contain();
extern long	poly_left();
extern long	poly_overleft();
extern long	poly_overright();
extern long	poly_right();
extern long	poly_contained();
extern float64	areasel();
extern float64	areajoinsel();
extern long	pointdist();

extern bool	char16regexeq();
extern bool	char16regexne();
extern bool	textregexeq();
extern bool	textregexne();
#endif /* FMGR_ADT */

extern bool int4notin();
extern bool oidnotin();

a188 1
/* rule stub records */
d190 1
a190 5
extern int32 byteaGetSize();
extern int32 byteaGetByte();
extern struct varlena * byteaSetByte();
extern int32 byteaGetBit();
extern struct varlena * byteaSetBit();
d192 92
a283 1
extern int32 userfntest();
d285 4
a288 1
extern char *pg_username();
d290 47
a336 2
extern char *array_in();
extern char *array_out();
d338 26
a363 2
extern char *filename_in();
extern char *filename_out();
d365 7
a371 2
extern char *lo_filein();
extern char *lo_fileout();
d373 23
a395 4
extern int2 smgrin();
extern char *smgrout();
extern bool smgreq();
extern bool smgrne();
d397 27
a423 23
extern int32 pqtest();
extern int32 int2inc();
extern int16 int2larger();
extern int16 int2smaller();
extern int32 int4inc();
extern int32 int4larger();
extern int32 int4smaller();

/* in utils/adt/ftype.c -- mao's stuff */
extern ObjectId fimport();
extern int32 fexport();
extern int32 fabstract();

extern char *oidseqout();
extern OidSeq oidseqin();
extern bool oidseqlt();
extern bool oidseqle();
extern bool oidseqeq();
extern bool oidseqge();
extern bool oidseqgt();
extern bool oidseqne();
extern bool oidseqcmp();
extern OidSeq mkoidseq();
a424 1
#endif !BuiltinsIncluded
@


1.52
log
@support for mao large objects
@
text
@d11 1
a11 1
 *	$Header: /users/mao/postgres/src/lib/H/utils/RCS/builtins.h,v 1.51 1991/11/05 05:46:20 mer Exp mao $
a347 2
extern RuleLock		StringToRuleLock();
extern char		*RuleLockToString();
a350 2
extern char * stubout();
extern Prs2RawStub stubin();
@


1.51
log
@new function decls for builtin aggregate definitions
@
text
@d11 1
a11 1
 *	$Header: /users/mer/postgres/src/lib/H/utils/RCS/builtins.h,v 1.50 1991/08/15 17:55:12 caetta Exp mer $
d387 16
@


1.50
log
@again, new agg's functions
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.49 91/08/09 20:37:13 kemnitz Exp Locker: caetta $
d104 3
d111 3
d382 2
d385 2
@


1.49
log
@register large object file nomination functions.
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.48 91/07/03 00:48:06 mao Exp Locker: kemnitz $
d375 2
@


1.48
log
@add support for builtin smgr type
@
text
@d11 1
a11 1
 *	$Header: /users/mao/postgres/src/lib/H/utils/RCS/builtins.h,v 1.47 1991/06/26 19:21:11 mao Exp mao $
d365 3
@


1.47
log
@compile-time switch for including nobtree code
@
text
@d11 1
a11 1
 *	$Header: /users/mao/postgres/src/lib/H/utils/RCS/builtins.h,v 1.46 1991/05/22 14:00:25 kemnitz Exp mao $
d365 5
@


1.46
log
@got rid of ftree and old btree stuff
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.45 91/05/09 13:36:18 mer Exp Locker: kemnitz $
d218 10
@


1.45
log
@fix for polygons (added rtree union intersect and size procs)
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.44 91/05/08 14:13:55 mer Exp Locker: mer $
a25 1
#include "access/kwlist.h"
a204 14
 *	B-tree code.
 *	Defined in btree/
 */
extern char		*btreeinsert();
extern char		*btreedelete();
extern char		*btreegetnext();
extern char		*btreebeginscan();
extern void		btreeendscan();
extern void		btreebuild();
extern void		btreemarkpos();
extern void		btreerestrpos();
extern void		btreerescan();

/*
a270 11
#endif /* FMGR_ADT */

/*
 *	Functional B-tree code.
 *	Defined in ftree/
 */
#ifdef FMGR_ADT
extern char		*ftreeinsert();
extern char		*ftreedelete();
extern char		*ftreegetnext();
extern void		ftreebuild();
@


1.44
log
@add timepl
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.43 91/05/07 23:46:26 kemnitz Exp Locker: mer $
d283 3
@


1.43
log
@added filename stuff
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.42 91/05/04 16:20:45 mer Exp Locker: kemnitz $
d84 1
@


1.42
log
@add polygon support
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.41 91/04/26 10:50:42 mao Exp Locker: mer $
d374 3
@


1.41
log
@support for new 'bigbox_ops' rtree opclass
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.40 91/04/24 19:07:26 mao Exp Locker: mao $
d330 10
@


1.40
log
@support decls for new btree access method
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.39 91/04/04 18:13:08 kemnitz Exp Locker: mao $
d281 1
@


1.39
log
@got rid of string_in - we use textin for this purpose.
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.38 91/03/26 11:01:41 kemnitz Exp Locker: kemnitz $
d211 1
a211 1
extern char		*btbeginscan();
d217 31
@


1.38
log
@Added array_in, etc.
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.37 91/03/16 17:26:45 sp Exp Locker: kemnitz $
a331 3

extern char *string_in();
extern char *string_out();
@


1.37
log
@new functions: 'cidin' and 'cidout'
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.36 91/03/03 00:36:58 mao Exp $
d329 6
@


1.36
log
@get arbitrary-length index keys working
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.35 91/02/27 17:55:14 kemnitz Exp Locker: mao $
d37 2
@


1.35
log
@oops - fixed problem with last checkin (userfntest)
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.34 91/02/27 17:49:04 kemnitz Exp $
d47 1
d52 5
d82 6
d189 1
d194 4
a316 5

extern int32		char16lt();
extern int32		char16le();
extern int32		char16gt();
extern int32		char16ge();
@


1.34
log
@Added userfntest
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.33 91/02/24 09:07:56 mao Exp Locker: kemnitz $
d312 1
a312 1
extern int32 user_fn_test();
@


1.33
log
@support for rtrees
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.32 91/02/19 13:55:47 mao Exp Locker: mao $
d311 2
@


1.32
log
@fix rtree interface
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.31 91/02/19 13:51:29 cimarron Exp Locker: mao $
d219 13
@


1.31
log
@added pqtest() decl
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.30 91/02/19 13:44:57 mao Exp Locker: cimarron $
d218 1
@


1.30
log
@change rtree interface
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.29 91/02/18 14:42:21 kemnitz Exp Locker: mao $
d299 2
@


1.29
log
@Added pg_username()
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.28 91/02/05 15:46:05 sp Exp $
d209 3
a211 3
extern char		*rtreeinsert();
extern char		*rtreedelete();
extern char		*rtreegettuple();
@


1.28
log
@New functions added that get/set bit/byte values of type "bytea"
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.27 91/01/22 19:40:23 mao Exp $
d297 2
@


1.27
log
@regexp routines are now builtins per stonebraker
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.26 90/10/15 23:25:50 cimarron Exp Locker: mao $
d291 6
@


1.26
log
@added new system catalog functions for
tuple id printing and char16 compairson
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.25 90/08/18 00:40:53 cimarron Exp Locker: cimarron $
d269 2
d272 1
a272 1
extern bool	char16regexeq();
@


1.25
log
@eliminated less significant .h files
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.24 90/08/17 08:53:54 cimarron Exp Locker: cimarron $
a17 2
#include "rules/prs2locks.h"
#include "rules/prs2stub.h"
d19 5
d182 3
d284 5
@


1.24
log
@added pathnames to #include statements
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.23 90/08/01 14:33:00 sp Exp Locker: cimarron $
a17 3
#include "tmp/datum.h"
#include "tmp/tim.h"
#include "tmp/xid.h"
@


1.23
log
@2 new routines: stubout and stubin
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.22 90/07/31 12:40:12 mao Exp $
d17 6
a22 12
#ifndef C_H
#include "c.h"
#endif
#ifndef DATUM_H
#include "datum.h"
#endif
#include "postgres.h"
#include "oid.h"
#include "tim.h"
#include "xid.h"
#include "prs2locks.h"
#include "prs2stub.h"
d25 2
a26 2
#include "geo-decls.h"
#include "kwlist.h"
@


1.22
log
@add textregexeq, char16regexeq with correct types
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.21 90/07/13 12:37:11 kemnitz Exp $
d28 1
d283 4
@


1.21
log
@Added GetAttribute.
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.20 90/06/05 23:28:29 kemnitz Exp Locker: kemnitz $
d271 2
a272 2
extern long	textregexeq();
extern long	char16regexeq();
@


1.20
log
@Added int44in and int44out
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.19 90/05/20 18:01:31 sp Exp Locker: kemnitz $
d20 3
d281 1
@


1.19
log
@'extern' defintions for StringToRuleLock() and RuleLockToString() added.
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.18 90/05/15 13:04:15 mao Exp $
d144 2
@


1.18
log
@char operator support
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.17 90/03/13 21:05:57 kemnitz Exp $
d24 1
d272 4
@


1.17
log
@Added not_in stuff
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.16 89/10/31 14:02:36 mao Exp $
d39 9
@


1.16
log
@add wei's routines for btree selectivity
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.15 89/09/05 17:04:18 mao C_Demo_1 Locker: mao $
d259 3
@


1.15
log
@Working version of C-only demo
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.14 89/08/21 15:57:13 mao Exp $
d185 6
@


1.14
log
@fix routine name:  rtmarkscan --> rtmarkpos
@
text
@d11 1
a11 1
 *	$Header: RCS/builtins.h,v 1.13 89/08/21 13:35:18 mao Exp Locker: mao $
@


1.13
log
@add rtree and box stuff
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.12 89/08/09 16:58:01 mao Locked $
d196 1
a196 1
extern void		rtmarkscan();
@


1.12
log
@box_contains is actually box_contain
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.11 89/08/09 16:20:46 mao Locked $
d179 2
a184 1
extern void		btreeendscan();
d193 2
d196 3
d228 5
@


1.11
log
@add box_contains for rtree strategies
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.10 89/08/09 16:01:40 mao Locked $
d221 1
a221 1
extern long	box_contains();
@


1.10
log
@add box_same(), "equality" function for boxes
(support for rtree indexing strategies)
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.9 89/08/01 14:14:20 mao Locked $
d221 1
@


1.9
log
@correct name of rtree "get next tuple" funcion
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.8 89/08/01 11:32:32 mao Exp $
d220 1
@


1.8
log
@add support for rtree access methods
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.7 89/07/20 16:33:50 mao Locked $
d191 1
a191 1
extern char		*rtreegetnext();
@


1.7
log
@add new rescan, endscan routines for btrees.
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.6 89/07/20 13:19:00 mao Locked $
d184 9
@


1.6
log
@add new btree code for scan management
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.5 89/04/12 19:53:11 mao Locked $
d182 2
@


1.5
log
@c.h
@
text
@d11 1
a11 1
 *	$Header: /usr6/postgres/dillon/ptree/src/lib/H/RCS/builtins.h,v 1.4 89/03/02 17:25:04 muir Stab $
d180 2
@


1.4
log
@Mostly added relcache speedup: use an index on pg_attribute
@
text
@d11 1
a11 1
 *	$Header: /usr6/postgres/muir/postgres/src/lib/H/RCS/builtins.h,v 1.3 89/01/20 02:08:08 aoki Exp $
d17 1
d19 1
@


1.3
log
@fixed the path screwup
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.2 89/01/19 23:09:02 aoki Locked $
d61 1
@


1.2
log
@new adt/, ftree/ functions
@
text
@d11 1
a11 1
 *	$Header: builtins.h,v 1.5 88/09/13 16:59:27 aoki Locked $
a22 4
/*
 *	This is a gentle reminder that the files in useradt/ have to be 
 *	moved or linked to adt/ before compilation will work (see fmgr.h).
 */
d24 2
a25 2
#include "../adt/geo-decls.h"
#include "../ftree/kwlist.h"
@


1.1
log
@Initial revision
@
text
@a0 27

; /*
; * 
; * POSTGRES Data Base Management System
; * 
; * Copyright (c) 1988 Regents of the University of California
; * 
; * Permission to use, copy, modify, and distribute this software and its
; * documentation for educational, research, and non-profit purposes and
; * without fee is hereby granted, provided that the above copyright
; * notice appear in all copies and that both that copyright notice and
; * this permission notice appear in supporting documentation, and that
; * the name of the University of California not be used in advertising
; * or publicity pertaining to distribution of the software without
; * specific, written prior permission.  Permission to incorporate this
; * software into commercial products can be obtained from the Campus
; * Software Office, 295 Evans Hall, University of California, Berkeley,
; * Ca., 94720 provided only that the the requestor give the University
; * of California a free licence to any derived software for educational
; * and research purposes.  The University of California makes no
; * representations about the suitability of this software for any
; * purpose.  It is provided "as is" without express or implied warranty.
; * 
; */



d11 1
a11 1
 *	$Header: builtins.h,v 1.1 88/11/11 16:36:56 postgres Exp $
a22 1
#ifdef FMGR_ADT
d27 4
a30 2
#include "utils/adt/geo-decls.h"
#endif FMGR_ADT
d40 1
d45 20
d130 1
a130 1
#endif FMGR_MATH
d150 1
d152 2
a153 1
#endif FMGR_MATH
d174 1
a175 4
 *
 * XXX These belong to an ancient interface (and don't belong here),
 *     but since the new interface doesn't exist yet, these are here
 *     temporarily.
a176 1

d183 11
d227 1
a227 1
#endif FMGR_ADT
@
