⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 builtins.h

📁 关系型数据库 Postgresql 6.5.2
💻 H
📖 第 1 页 / 共 2 页
字号:
/*------------------------------------------------------------------------- * * builtins.h *	  Declarations for operations on built-in types. * * * Copyright (c) 1994, Regents of the University of California * * $Id: builtins.h,v 1.81.2.1 1999/08/02 05:25:24 scrappy Exp $ * * NOTES *	  This should normally only be included by fmgr.h. *	  Under no circumstances should it ever be included before *	  including fmgr.h! * fmgr.h does not seem to include this file, so don't know where this *	comment came from. Backend code must include this stuff explicitly *	as far as I can tell... * - thomas 1998-06-08 * *------------------------------------------------------------------------- */#ifndef BUILTINS_H#define BUILTINS_H#include "storage/itemptr.h"#include "utils/array.h"#include "utils/datetime.h"#include "utils/geo_decls.h"#include "utils/inet.h"#include "utils/int8.h"#include "utils/nabstime.h"#include "utils/numeric.h"/* *		Defined in adt/ *//* bool.c */extern bool boolin(char *b);extern char *boolout(bool b);extern bool booleq(bool arg1, bool arg2);extern bool boolne(bool arg1, bool arg2);extern bool boollt(bool arg1, bool arg2);extern bool boolgt(bool arg1, bool arg2);extern bool istrue(bool arg1);extern bool isfalse(bool arg1);/* char.c */extern int32 charin(char *ch);extern char *charout(int32 ch);extern int32 cidin(char *s);extern char *cidout(int32 c);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 int8 text_char(text *arg1);extern text *char_text(int8 arg1);/* 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 text *int2_text(int16 arg1);extern int16 text_int2(text *arg1);extern text *int4_text(int32 arg1);extern int32 text_int4(text *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	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);/* *		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 btint8cmp(int64 *a, int64 *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 btoid8cmp(Oid *a, Oid *b);extern int32 btabstimecmp(AbsoluteTime a, AbsoluteTime b);extern int32 btcharcmp(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 POLYGON *rt_poly_union(POLYGON *a, POLYGON *b);extern POLYGON *rt_poly_inter(POLYGON *a, POLYGON *b);/* projection utilities *//* extern char *GetAttributeByName();   extern char *GetAttributeByNum(); , in executor/executor.h*/extern int32 pqtest(struct varlena * vlena);/* arrayfuncs.c *//* date.c */extern RelativeTime reltimein(char *timestring);extern char *reltimeout(RelativeTime timevalue);extern TimeInterval tintervalin(char *intervalstr);extern char *tintervalout(TimeInterval interval);extern RelativeTime timespan_reltime(TimeSpan *timespan);extern TimeSpan *reltime_timespan(RelativeTime reltime);extern TimeInterval mktinterval(AbsoluteTime t1, AbsoluteTime t2);extern AbsoluteTime timepl(AbsoluteTime t1, RelativeTime t2);extern AbsoluteTime timemi(AbsoluteTime t1, RelativeTime t2);/* extern RelativeTime abstimemi(AbsoluteTime t1, AbsoluteTime t2);  static*/extern int	ininterval(AbsoluteTime t, TimeInterval interval);extern 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 intervalsame(TimeInterval i1, TimeInterval i2);extern bool intervaleq(TimeInterval i1, TimeInterval i2);extern bool intervalne(TimeInterval i1, TimeInterval i2);extern bool intervallt(TimeInterval i1, TimeInterval i2);extern bool intervalgt(TimeInterval i1, TimeInterval i2);extern bool intervalle(TimeInterval i1, TimeInterval i2);extern bool intervalge(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 text *timeofday(void);/* filename.c */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 text_float8(text *str);extern float32 text_float4(text *str);extern text *float8_text(float64 num);extern text *float4_text(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);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -