This is fmgr.h in view mode; [Download] [Up]
/*------------------------------------------------------------------------- * * fmgr.h-- * Definitions for using internal procedures. * * * Copyright (c) 1994, Regents of the University of California * * Gen_fmgrtab.sh,v 1.4 1995/07/21 17:49:33 jolly Exp * * NOTES * ****************************** * *** DO NOT EDIT THIS FILE! *** * ****************************** * * It has been GENERATED by /usr/local/postgres/sources/postgres95/src/backend/utils/Gen_fmgrtab.sh * from /usr/local/postgres/sources/postgres95/src/backend/catalog/pg_proc.h * *------------------------------------------------------------------------- */ #ifndef FMGR_H #define FMGR_H #include "postgres.h" /* for some prototype typedefs */ /* * Maximum number of arguments for a built-in function. * * XXX note that you cannot call a function with more than 8 * arguments from the user level since the catalogs only * store 8 argument type values for type-checking ... */ #define MAXFMGRARGS 9 typedef struct { char *data[MAXFMGRARGS]; } FmgrValues; /* * defined in fmgr.c */ extern char *fmgr_c(func_ptr user_fn, Oid func_id, int n_arguments, FmgrValues *values, bool *isNull); extern void fmgr_info(Oid procedureId, func_ptr *function, int *nargs); extern char *fmgr(Oid procedureId, ... ); extern char *fmgr_ptr(func_ptr user_fn, Oid func_id, ... ); extern char *fmgr_array_args(Oid procedureId, int nargs, char *args[], bool *isNull); /* * defined in dfmgr.c */ extern func_ptr fmgr_dynamic(Oid procedureId, int *pronargs); extern void load_file(char *filename); /* * For performance reasons, we often want to simply jump through a * a function pointer (if it's valid, that is). These calls have * been macroized so we can run them through a routine that does * sanity-checking (and so we can track them down more easily when * we must). */ #ifdef TRACE_FMGR_PTR #define FMGR_PTR2(FP, FID, ARG1, ARG2) fmgr_ptr(FP, FID, 2, ARG1, ARG2) #else #define FMGR_PTR2(FP, FID, ARG1, ARG2) ((FP) ? (*((func_ptr)(FP)))(ARG1, ARG2) : fmgr(FID, ARG1, ARG2)) #endif /* * Flags for the builtin oprrest selectivity routines. */ #define SEL_CONSTANT 1 /* constant does not vary (not a parameter) */ #define SEL_RIGHT 2 /* constant appears to right of operator */ #define F_BOOLIN 28 #define F_BOOLOUT 29 #define F_BYTEAIN 30 #define F_BYTEAOUT 31 #define F_CHARIN 32 #define F_CHAROUT 33 #define F_CHAR16IN 34 #define F_CHAR16OUT 35 #define F_DTIN 36 #define F_DTOUT 37 #define F_INT2IN 38 #define F_INT2OUT 39 #define F_INT28IN 40 #define F_INT28OUT 41 #define F_INT4IN 42 #define F_INT4OUT 43 #define F_REGPROCIN 44 #define F_REGPROCOUT 45 #define F_TEXTIN 46 #define F_TEXTOUT 47 #define F_TIDIN 48 #define F_TIDOUT 49 #define F_XIDIN 50 #define F_XIDOUT 51 #define F_CIDIN 52 #define F_CIDOUT 53 #define F_OID8IN 54 #define F_OID8OUT 55 #define F_BOOLEQ 60 #define F_CHAREQ 61 #define F_CHAR16EQ 62 #define F_INT2EQ 63 #define F_INT2LT 64 #define F_INT4EQ 65 #define F_INT4LT 66 #define F_TEXTEQ 67 #define F_XIDEQ 68 #define F_CIDEQ 69 #define F_CHARNE 70 #define F_CHARLT 71 #define F_CHARLE 72 #define F_CHARGT 73 #define F_CHARGE 74 #define F_CHARPL 75 #define F_CHARMI 76 #define F_CHARMUL 77 #define F_CHARDIV 78 #define F_CHAR16REGEXEQ 79 #define F_CHAR16REGEXNE 80 #define F_TEXTREGEXEQ 81 #define F_TEXTREGEXNE 82 #define F_TEXTCAT 83 #define F_BOOLNE 84 #define F_RTSEL 97 #define F_RTNPAGE 98 #define F_BTREESEL 99 #define F_BTREENPAGE 100 #define F_EQSEL 101 #define F_NEQSEL 102 #define F_INTLTSEL 103 #define F_INTGTSEL 104 #define F_EQJOINSEL 105 #define F_NEQJOINSEL 106 #define F_INTLTJOINSEL 107 #define F_INTGTJOINSEL 108 #define F_POINT_IN 117 #define F_POINT_OUT 118 #define F_LSEG_IN 119 #define F_LSEG_OUT 120 #define F_PATH_IN 121 #define F_PATH_OUT 122 #define F_BOX_IN 123 #define F_BOX_OUT 124 #define F_BOX_OVERLAP 125 #define F_BOX_GE 126 #define F_BOX_GT 127 #define F_BOX_EQ 128 #define F_BOX_LT 129 #define F_BOX_LE 130 #define F_POINT_ABOVE 131 #define F_POINT_LEFT 132 #define F_POINT_RIGHT 133 #define F_POINT_BELOW 134 #define F_POINT_EQ 135 #define F_ON_PB 136 #define F_ON_PPATH 137 #define F_BOX_CENTER 138 #define F_AREASEL 139 #define F_AREAJOINSEL 140 #define F_INT4MUL 141 #define F_INT4FAC 142 #define F_POINTDIST 143 #define F_INT4NE 144 #define F_INT2NE 145 #define F_INT2GT 146 #define F_INT4GT 147 #define F_INT2LE 148 #define F_INT4LE 149 #define F_INT4GE 150 #define F_INT2GE 151 #define F_INT2MUL 152 #define F_INT2DIV 153 #define F_INT4DIV 154 #define F_INT2MOD 155 #define F_INT4MOD 156 #define F_TEXTNE 157 #define F_INT24EQ 158 #define F_INT42EQ 159 #define F_INT24LT 160 #define F_INT42LT 161 #define F_INT24GT 162 #define F_INT42GT 163 #define F_INT24NE 164 #define F_INT42NE 165 #define F_INT24LE 166 #define F_INT42LE 167 #define F_INT24GE 168 #define F_INT42GE 169 #define F_INT24MUL 170 #define F_INT42MUL 171 #define F_INT24DIV 172 #define F_INT42DIV 173 #define F_INT24MOD 174 #define F_INT42MOD 175 #define F_INT2PL 176 #define F_INT4PL 177 #define F_INT24PL 178 #define F_INT42PL 179 #define F_INT2MI 180 #define F_INT4MI 181 #define F_INT24MI 182 #define F_INT42MI 183 #define F_OIDEQ 184 #define F_OIDNE 185 #define F_BOX_SAME 186 #define F_BOX_CONTAIN 187 #define F_BOX_LEFT 188 #define F_BOX_OVERLEFT 189 #define F_BOX_OVERRIGHT 190 #define F_BOX_RIGHT 191 #define F_BOX_CONTAINED 192 #define F_RT_BOX_UNION 193 #define F_RT_BOX_INTER 194 #define F_RT_BOX_SIZE 195 #define F_RT_BIGBOX_SIZE 196 #define F_RT_POLY_UNION 197 #define F_RT_POLY_INTER 198 #define F_RT_POLY_SIZE 199 #define F_FLOAT4IN 200 #define F_FLOAT4OUT 201 #define F_FLOAT4MUL 202 #define F_FLOAT4DIV 203 #define F_FLOAT4PL 204 #define F_FLOAT4MI 205 #define F_FLOAT4UM 206 #define F_FLOAT4ABS 207 #define F_FLOAT4INC 208 #define F_FLOAT4LARGER 209 #define F_FLOAT4SMALLER 211 #define F_INT4UM 212 #define F_INT2UM 213 #define F_FLOAT8IN 214 #define F_FLOAT8OUT 215 #define F_FLOAT8MUL 216 #define F_FLOAT8DIV 217 #define F_FLOAT8PL 218 #define F_FLOAT8MI 219 #define F_FLOAT8UM 220 #define F_FLOAT8ABS 221 #define F_FLOAT8INC 222 #define F_FLOAT8LARGER 223 #define F_FLOAT8SMALLER 224 #define F_DROUND 228 #define F_DTRUNC 229 #define F_DSQRT 230 #define F_DCBRT 231 #define F_DPOW 232 #define F_DEXP 233 #define F_DLOG1 234 #define F_NABSTIMEIN 240 #define F_NABSTIMEOUT 241 #define F_RELTIMEIN 242 #define F_RELTIMEOUT 243 #define F_TIMEPL 244 #define F_TIMEMI 245 #define F_TINTERVALIN 246 #define F_TINTERVALOUT 247 #define F_ININTERVAL 248 #define F_INTERVALREL 249 #define F_TIMENOW 250 #define F_ABSTIMEEQ 251 #define F_ABSTIMENE 252 #define F_ABSTIMELT 253 #define F_ABSTIMEGT 254 #define F_ABSTIMELE 255 #define F_ABSTIMEGE 256 #define F_RELTIMEEQ 257 #define F_RELTIMENE 258 #define F_RELTIMELT 259 #define F_RELTIMEGT 260 #define F_RELTIMELE 261 #define F_RELTIMEGE 262 #define F_INTERVALEQ 263 #define F_INTERVALCT 264 #define F_INTERVALOV 265 #define F_INTERVALLENEQ 266 #define F_INTERVALLENNE 267 #define F_INTERVALLENLT 268 #define F_INTERVALLENGT 269 #define F_INTERVALLENLE 270 #define F_INTERVALLENGE 271 #define F_INTERVALSTART 272 #define F_INTERVALEND 273 #define F_TIMEOFDAY 274 #define F_INT2FAC 276 #define F_FLOAT48MUL 279 #define F_FLOAT48DIV 280 #define F_FLOAT48PL 281 #define F_FLOAT48MI 282 #define F_FLOAT84MUL 283 #define F_FLOAT84DIV 284 #define F_FLOAT84PL 285 #define F_FLOAT84MI 286 #define F_FLOAT4EQ 287 #define F_FLOAT4NE 288 #define F_FLOAT4LT 289 #define F_FLOAT4LE 290 #define F_FLOAT4GT 291 #define F_FLOAT4GE 292 #define F_FLOAT8EQ 293 #define F_FLOAT8NE 294 #define F_FLOAT8LT 295 #define F_FLOAT8LE 296 #define F_FLOAT8GT 297 #define F_FLOAT8GE 298 #define F_FLOAT48EQ 299 #define F_FLOAT48NE 300 #define F_FLOAT48LT 301 #define F_FLOAT48LE 302 #define F_FLOAT48GT 303 #define F_FLOAT48GE 304 #define F_FLOAT84EQ 305 #define F_FLOAT84NE 306 #define F_FLOAT84LT 307 #define F_FLOAT84LE 308 #define F_FLOAT84GT 309 #define F_FLOAT84GE 310 #define F_FTOD 311 #define F_DTOF 312 #define F_I2TOI4 313 #define F_I4TOI2 314 #define F_KEYFIRSTEQ 315 #define F_RTINSERT 320 #define F_RTDELETE 321 #define F_RTGETTUPLE 322 #define F_RTBUILD 323 #define F_RTBEGINSCAN 324 #define F_RTENDSCAN 325 #define F_RTMARKPOS 326 #define F_RTRESTRPOS 327 #define F_RTRESCAN 328 #define F_BTGETTUPLE 330 #define F_BTINSERT 331 #define F_BTDELETE 332 #define F_BTBEGINSCAN 333 #define F_BTRESCAN 334 #define F_BTENDSCAN 335 #define F_BTMARKPOS 336 #define F_BTRESTRPOS 337 #define F_BTBUILD 338 #define F_POLY_SAME 339 #define F_POLY_CONTAIN 340 #define F_POLY_LEFT 341 #define F_POLY_OVERLEFT 342 #define F_POLY_OVERRIGHT 343 #define F_POLY_RIGHT 344 #define F_POLY_CONTAINED 345 #define F_POLY_OVERLAP 346 #define F_POLY_IN 347 #define F_POLY_OUT 348 #define F_BTINT2CMP 350 #define F_BTINT4CMP 351 #define F_BTINT42CMP 352 #define F_BTINT24CMP 353 #define F_BTFLOAT4CMP 354 #define F_BTFLOAT8CMP 355 #define F_BTOIDCMP 356 #define F_BTABSTIMECMP 357 #define F_BTCHARCMP 358 #define F_BTCHAR16CMP 359 #define F_BTTEXTCMP 360 #define F_LSEG_DISTANCE 361 #define F_LSEG_INTERPT 362 #define F_DIST_PS 363 #define F_DIST_PB 364 #define F_DIST_SB 365 #define F_CLOSE_PS 366 #define F_CLOSE_PB 367 #define F_CLOSE_SB 368 #define F_ON_PS 369 #define F_PATH_DISTANCE 370 #define F_DIST_PPTH 371 #define F_ON_SB 372 #define F_INTER_SB 373 #define F_HASHSEL 438 #define F_HASHNPAGE 439 #define F_HASHGETTUPLE 440 #define F_HASHINSERT 441 #define F_HASHDELETE 442 #define F_HASHBEGINSCAN 443 #define F_HASHRESCAN 444 #define F_HASHENDSCAN 445 #define F_HASHMARKPOS 446 #define F_HASHRESTRPOS 447 #define F_HASHBUILD 448 #define F_HASHINT2 449 #define F_HASHINT4 450 #define F_HASHFLOAT4 451 #define F_HASHFLOAT8 452 #define F_HASHOID 453 #define F_HASHCHAR 454 #define F_HASHCHAR16 455 #define F_HASHTEXT 456 #define F_CHAR2IN 466 #define F_CHAR4IN 467 #define F_CHAR8IN 468 #define F_CHAR2OUT 469 #define F_CHAR4OUT 470 #define F_CHAR8OUT 471 #define F_CHAR2EQ 472 #define F_CHAR4EQ 473 #define F_CHAR8EQ 474 #define F_CHAR2LT 475 #define F_CHAR4LT 476 #define F_CHAR8LT 477 #define F_CHAR2LE 478 #define F_CHAR4LE 479 #define F_CHAR8LE 480 #define F_CHAR2GT 481 #define F_CHAR4GT 482 #define F_CHAR8GT 483 #define F_CHAR2GE 484 #define F_INT4NOTIN 650 #define F_OIDNOTIN 651 #define F_INT44IN 652 #define F_INT44OUT 653 #define F_CHAR16LT 655 #define F_CHAR16LE 656 #define F_CHAR16GT 657 #define F_CHAR16GE 658 #define F_CHAR16NE 659 #define F_MKTINTERVAL 682 #define F_OID8EQ 683 #define F_CHAR4GE 684 #define F_CHAR8GE 685 #define F_CHAR2NE 686 #define F_CHAR4NE 687 #define F_CHAR8NE 688 #define F_BTCHAR2CMP 689 #define F_BTCHAR4CMP 690 #define F_BTCHAR8CMP 691 #define F_HASHCHAR2 692 #define F_HASHCHAR4 693 #define F_HASHCHAR8 694 #define F_CHAR8REGEXEQ 695 #define F_CHAR8REGEXNE 696 #define F_CHAR2REGEXEQ 699 #define F_GETPGUSERNAME 710 #define F_USERFNTEST 711 #define F_OIDRAND 713 #define F_OIDSRAND 715 #define F_BYTEAGETSIZE 720 #define F_BYTEAGETBYTE 721 #define F_BYTEASETBYTE 722 #define F_BYTEAGETBIT 723 #define F_BYTEASETBIT 724 #define F_PQTEST 730 #define F_TEXT_LT 740 #define F_TEXT_LE 741 #define F_TEXT_GT 742 #define F_TEXT_GE 743 #define F_ARRAY_EQ 744 #define F_ARRAY_ASSGN 745 #define F_ARRAY_CLIP 746 #define F_ARRAY_DIMS 747 #define F_ARRAY_SET 748 #define F_ARRAY_REF 749 #define F_ARRAY_IN 750 #define F_ARRAY_OUT 751 #define F_FILENAME_IN 752 #define F_FILENAME_OUT 753 #define F_SMGRIN 760 #define F_SMGROUT 761 #define F_SMGREQ 762 #define F_SMGRNE 763 #define F_LO_IMPORT 764 #define F_LO_EXPORT 765 #define F_INT4INC 766 #define F_INT2INC 767 #define F_INT4LARGER 768 #define F_INT4SMALLER 769 #define F_INT2LARGER 770 #define F_INT2SMALLER 771 #define F_OIDINT2IN 820 #define F_OIDINT2OUT 821 #define F_OIDINT2LT 822 #define F_OIDINT2LE 823 #define F_OIDINT2EQ 824 #define F_OIDINT2GE 825 #define F_OIDINT2GT 826 #define F_OIDINT2NE 827 #define F_OIDINT2CMP 828 #define F_MKOIDINT2 829 #define F_CHAR4REGEXEQ 836 #define F_CHAR2REGEXNE 837 #define F_CHAR4REGEXNE 838 #define F_TEXTLIKE 850 #define F_TEXTNLIKE 851 #define F_CHAR2LIKE 852 #define F_CHAR2NLIKE 853 #define F_CHAR4LIKE 854 #define F_CHAR4NLIKE 855 #define F_CHAR8LIKE 856 #define F_CHAR8NLIKE 857 #define F_CHAR16LIKE 858 #define F_CHAR16NLIKE 859 #define F_OIDINT4IN 920 #define F_OIDINT4OUT 921 #define F_OIDINT4LT 922 #define F_OIDINT4LE 923 #define F_OIDINT4EQ 924 #define F_OIDINT4GE 925 #define F_OIDINT4GT 926 #define F_OIDINT4NE 927 #define F_OIDINT4CMP 928 #define F_MKOIDINT4 929 #define F_OIDCHAR16IN 940 #define F_OIDCHAR16OUT 941 #define F_OIDCHAR16LT 942 #define F_OIDCHAR16LE 943 #define F_OIDCHAR16EQ 944 #define F_OIDCHAR16GE 945 #define F_OIDCHAR16GT 946 #define F_OIDCHAR16NE 947 #define F_OIDCHAR16CMP 948 #define F_MKOIDCHAR16 949 #define F_LO_OPEN 952 #define F_LO_CLOSE 953 #define F_LOREAD 954 #define F_LOWRITE 955 #define F_LO_LSEEK 956 #define F_LO_CREAT 957 #define F_LO_TELL 958 #define F_LO_UNLINK 964 #define F_REGPROCTOOID 972 #define F_PATH_INTER 973 #define F_BOX_COPY 974 #define F_BOX_AREA 975 #define F_BOX_LENGTH 976 #define F_BOX_HEIGHT 977 #define F_BOX_DISTANCE 978 #define F_BOX_INTERSECT 980 #define F_BOX_DIAGONAL 981 #define F_PATH_N_LT 982 #define F_PATH_N_GT 983 #define F_PATH_N_EQ 984 #define F_PATH_N_LE 985 #define F_PATH_N_GE 986 #define F_PATH_LENGTH 987 #define F_POINT_COPY 988 #define F_POINT_VERT 989 #define F_POINT_HORIZ 990 #define F_POINT_DISTANCE 991 #define F_POINT_SLOPE 992 #define F_LSEG_CONSTRUCT 993 #define F_LSEG_INTERSECT 994 #define F_LSEG_PARALLEL 995 #define F_LSEG_PERP 996 #define F_LSEG_VERTICAL 997 #define F_LSEG_HORIZONTAL 998 #define F_LSEG_EQ 999 #define F_NULLVALUE 1029 #define F_NONNULLVALUE 1030 #define F_ACLITEMIN 1031 #define F_ACLITEMOUT 1032 #define F_ACLINSERT 1035 #define F_ACLREMOVE 1036 #define F_ACLCONTAINS 1037 #define F_SETEVAL 1038 #define F_BPCHARIN 1044 #define F_BPCHAROUT 1045 #define F_VARCHARIN 1046 #define F_VARCHAROUT 1047 #define F_BPCHAREQ 1048 #define F_BPCHARLT 1049 #define F_BPCHARLE 1050 #define F_BPCHARGT 1051 #define F_BPCHARGE 1052 #define F_BPCHARNE 1053 #define F_VARCHAREQ 1070 #define F_VARCHARLT 1071 #define F_VARCHARLE 1072 #define F_VARCHARGT 1073 #define F_VARCHARGE 1074 #define F_VARCHARNE 1075 #define F_BPCHARCMP 1078 #define F_VARCHARCMP 1079 #define F_HASHBPCHAR 1080 #define F_HASHVARCHAR 1081 #define F_DATE_IN 1084 #define F_DATE_OUT 1085 #define F_DATE_EQ 1086 #define F_DATE_LT 1087 #define F_DATE_LE 1088 #define F_DATE_GT 1089 #define F_DATE_GE 1090 #define F_DATE_NE 1091 #define F_DATE_CMP 1092 #define F_TIME_IN 1099 #define F_TIME_OUT 1100 #define F_TIME_EQ 1101 #define F_TIME_LT 1102 #define F_TIME_LE 1103 #define F_TIME_GT 1104 #define F_TIME_GE 1105 #define F_TIME_NE 1106 #define F_TIME_CMP 1107 #endif /* FMGR_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.