Eneboo - Documentación para desarrolladores
|
00001 /*------------------------------------------------------------------------- 00002 * 00003 * builtins.h 00004 * Declarations for operations on built-in types. 00005 * 00006 * 00007 * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group 00008 * Portions Copyright (c) 1994, Regents of the University of California 00009 * 00010 * $PostgreSQL: pgsql/src/include/utils/builtins.h,v 1.267.2.1 2005/11/22 18:23:29 momjian Exp $ 00011 * 00012 *------------------------------------------------------------------------- 00013 */ 00014 #ifndef BUILTINS_H 00015 #define BUILTINS_H 00016 00017 #include "fmgr.h" 00018 #include "nodes/parsenodes.h" 00019 00020 /* 00021 * Defined in adt/ 00022 */ 00023 00024 /* acl.c */ 00025 extern Datum has_table_privilege_name_name(PG_FUNCTION_ARGS); 00026 extern Datum has_table_privilege_name_id(PG_FUNCTION_ARGS); 00027 extern Datum has_table_privilege_id_name(PG_FUNCTION_ARGS); 00028 extern Datum has_table_privilege_id_id(PG_FUNCTION_ARGS); 00029 extern Datum has_table_privilege_name(PG_FUNCTION_ARGS); 00030 extern Datum has_table_privilege_id(PG_FUNCTION_ARGS); 00031 extern Datum has_database_privilege_name_name(PG_FUNCTION_ARGS); 00032 extern Datum has_database_privilege_name_id(PG_FUNCTION_ARGS); 00033 extern Datum has_database_privilege_id_name(PG_FUNCTION_ARGS); 00034 extern Datum has_database_privilege_id_id(PG_FUNCTION_ARGS); 00035 extern Datum has_database_privilege_name(PG_FUNCTION_ARGS); 00036 extern Datum has_database_privilege_id(PG_FUNCTION_ARGS); 00037 extern Datum has_function_privilege_name_name(PG_FUNCTION_ARGS); 00038 extern Datum has_function_privilege_name_id(PG_FUNCTION_ARGS); 00039 extern Datum has_function_privilege_id_name(PG_FUNCTION_ARGS); 00040 extern Datum has_function_privilege_id_id(PG_FUNCTION_ARGS); 00041 extern Datum has_function_privilege_name(PG_FUNCTION_ARGS); 00042 extern Datum has_function_privilege_id(PG_FUNCTION_ARGS); 00043 extern Datum has_language_privilege_name_name(PG_FUNCTION_ARGS); 00044 extern Datum has_language_privilege_name_id(PG_FUNCTION_ARGS); 00045 extern Datum has_language_privilege_id_name(PG_FUNCTION_ARGS); 00046 extern Datum has_language_privilege_id_id(PG_FUNCTION_ARGS); 00047 extern Datum has_language_privilege_name(PG_FUNCTION_ARGS); 00048 extern Datum has_language_privilege_id(PG_FUNCTION_ARGS); 00049 extern Datum has_schema_privilege_name_name(PG_FUNCTION_ARGS); 00050 extern Datum has_schema_privilege_name_id(PG_FUNCTION_ARGS); 00051 extern Datum has_schema_privilege_id_name(PG_FUNCTION_ARGS); 00052 extern Datum has_schema_privilege_id_id(PG_FUNCTION_ARGS); 00053 extern Datum has_schema_privilege_name(PG_FUNCTION_ARGS); 00054 extern Datum has_schema_privilege_id(PG_FUNCTION_ARGS); 00055 extern Datum has_tablespace_privilege_name_name(PG_FUNCTION_ARGS); 00056 extern Datum has_tablespace_privilege_name_id(PG_FUNCTION_ARGS); 00057 extern Datum has_tablespace_privilege_id_name(PG_FUNCTION_ARGS); 00058 extern Datum has_tablespace_privilege_id_id(PG_FUNCTION_ARGS); 00059 extern Datum has_tablespace_privilege_name(PG_FUNCTION_ARGS); 00060 extern Datum has_tablespace_privilege_id(PG_FUNCTION_ARGS); 00061 extern Datum pg_has_role_name_name(PG_FUNCTION_ARGS); 00062 extern Datum pg_has_role_name_id(PG_FUNCTION_ARGS); 00063 extern Datum pg_has_role_id_name(PG_FUNCTION_ARGS); 00064 extern Datum pg_has_role_id_id(PG_FUNCTION_ARGS); 00065 extern Datum pg_has_role_name(PG_FUNCTION_ARGS); 00066 extern Datum pg_has_role_id(PG_FUNCTION_ARGS); 00067 00068 /* bool.c */ 00069 extern Datum boolin(PG_FUNCTION_ARGS); 00070 extern Datum boolout(PG_FUNCTION_ARGS); 00071 extern Datum boolrecv(PG_FUNCTION_ARGS); 00072 extern Datum boolsend(PG_FUNCTION_ARGS); 00073 extern Datum booleq(PG_FUNCTION_ARGS); 00074 extern Datum boolne(PG_FUNCTION_ARGS); 00075 extern Datum boollt(PG_FUNCTION_ARGS); 00076 extern Datum boolgt(PG_FUNCTION_ARGS); 00077 extern Datum boolle(PG_FUNCTION_ARGS); 00078 extern Datum boolge(PG_FUNCTION_ARGS); 00079 extern Datum istrue(PG_FUNCTION_ARGS); 00080 extern Datum isfalse(PG_FUNCTION_ARGS); 00081 extern Datum isnottrue(PG_FUNCTION_ARGS); 00082 extern Datum isnotfalse(PG_FUNCTION_ARGS); 00083 extern Datum booland_statefunc(PG_FUNCTION_ARGS); 00084 extern Datum boolor_statefunc(PG_FUNCTION_ARGS); 00085 00086 /* char.c */ 00087 extern Datum charin(PG_FUNCTION_ARGS); 00088 extern Datum charout(PG_FUNCTION_ARGS); 00089 extern Datum charrecv(PG_FUNCTION_ARGS); 00090 extern Datum charsend(PG_FUNCTION_ARGS); 00091 extern Datum chareq(PG_FUNCTION_ARGS); 00092 extern Datum charne(PG_FUNCTION_ARGS); 00093 extern Datum charlt(PG_FUNCTION_ARGS); 00094 extern Datum charle(PG_FUNCTION_ARGS); 00095 extern Datum chargt(PG_FUNCTION_ARGS); 00096 extern Datum charge(PG_FUNCTION_ARGS); 00097 extern Datum chartoi4(PG_FUNCTION_ARGS); 00098 extern Datum i4tochar(PG_FUNCTION_ARGS); 00099 extern Datum text_char(PG_FUNCTION_ARGS); 00100 extern Datum char_text(PG_FUNCTION_ARGS); 00101 00102 /* int.c */ 00103 extern Datum int2in(PG_FUNCTION_ARGS); 00104 extern Datum int2out(PG_FUNCTION_ARGS); 00105 extern Datum int2recv(PG_FUNCTION_ARGS); 00106 extern Datum int2send(PG_FUNCTION_ARGS); 00107 extern Datum int2vectorin(PG_FUNCTION_ARGS); 00108 extern Datum int2vectorout(PG_FUNCTION_ARGS); 00109 extern Datum int2vectorrecv(PG_FUNCTION_ARGS); 00110 extern Datum int2vectorsend(PG_FUNCTION_ARGS); 00111 extern Datum int2vectoreq(PG_FUNCTION_ARGS); 00112 extern Datum int4in(PG_FUNCTION_ARGS); 00113 extern Datum int4out(PG_FUNCTION_ARGS); 00114 extern Datum int4recv(PG_FUNCTION_ARGS); 00115 extern Datum int4send(PG_FUNCTION_ARGS); 00116 extern Datum i2toi4(PG_FUNCTION_ARGS); 00117 extern Datum i4toi2(PG_FUNCTION_ARGS); 00118 extern Datum int2_text(PG_FUNCTION_ARGS); 00119 extern Datum text_int2(PG_FUNCTION_ARGS); 00120 extern Datum int4_bool(PG_FUNCTION_ARGS); 00121 extern Datum bool_int4(PG_FUNCTION_ARGS); 00122 extern Datum int4_text(PG_FUNCTION_ARGS); 00123 extern Datum text_int4(PG_FUNCTION_ARGS); 00124 extern Datum int4eq(PG_FUNCTION_ARGS); 00125 extern Datum int4ne(PG_FUNCTION_ARGS); 00126 extern Datum int4lt(PG_FUNCTION_ARGS); 00127 extern Datum int4le(PG_FUNCTION_ARGS); 00128 extern Datum int4gt(PG_FUNCTION_ARGS); 00129 extern Datum int4ge(PG_FUNCTION_ARGS); 00130 extern Datum int2eq(PG_FUNCTION_ARGS); 00131 extern Datum int2ne(PG_FUNCTION_ARGS); 00132 extern Datum int2lt(PG_FUNCTION_ARGS); 00133 extern Datum int2le(PG_FUNCTION_ARGS); 00134 extern Datum int2gt(PG_FUNCTION_ARGS); 00135 extern Datum int2ge(PG_FUNCTION_ARGS); 00136 extern Datum int24eq(PG_FUNCTION_ARGS); 00137 extern Datum int24ne(PG_FUNCTION_ARGS); 00138 extern Datum int24lt(PG_FUNCTION_ARGS); 00139 extern Datum int24le(PG_FUNCTION_ARGS); 00140 extern Datum int24gt(PG_FUNCTION_ARGS); 00141 extern Datum int24ge(PG_FUNCTION_ARGS); 00142 extern Datum int42eq(PG_FUNCTION_ARGS); 00143 extern Datum int42ne(PG_FUNCTION_ARGS); 00144 extern Datum int42lt(PG_FUNCTION_ARGS); 00145 extern Datum int42le(PG_FUNCTION_ARGS); 00146 extern Datum int42gt(PG_FUNCTION_ARGS); 00147 extern Datum int42ge(PG_FUNCTION_ARGS); 00148 extern Datum int4um(PG_FUNCTION_ARGS); 00149 extern Datum int4up(PG_FUNCTION_ARGS); 00150 extern Datum int4pl(PG_FUNCTION_ARGS); 00151 extern Datum int4mi(PG_FUNCTION_ARGS); 00152 extern Datum int4mul(PG_FUNCTION_ARGS); 00153 extern Datum int4div(PG_FUNCTION_ARGS); 00154 extern Datum int4abs(PG_FUNCTION_ARGS); 00155 extern Datum int4inc(PG_FUNCTION_ARGS); 00156 extern Datum int2um(PG_FUNCTION_ARGS); 00157 extern Datum int2up(PG_FUNCTION_ARGS); 00158 extern Datum int2pl(PG_FUNCTION_ARGS); 00159 extern Datum int2mi(PG_FUNCTION_ARGS); 00160 extern Datum int2mul(PG_FUNCTION_ARGS); 00161 extern Datum int2div(PG_FUNCTION_ARGS); 00162 extern Datum int2abs(PG_FUNCTION_ARGS); 00163 extern Datum int24pl(PG_FUNCTION_ARGS); 00164 extern Datum int24mi(PG_FUNCTION_ARGS); 00165 extern Datum int24mul(PG_FUNCTION_ARGS); 00166 extern Datum int24div(PG_FUNCTION_ARGS); 00167 extern Datum int42pl(PG_FUNCTION_ARGS); 00168 extern Datum int42mi(PG_FUNCTION_ARGS); 00169 extern Datum int42mul(PG_FUNCTION_ARGS); 00170 extern Datum int42div(PG_FUNCTION_ARGS); 00171 extern Datum int4mod(PG_FUNCTION_ARGS); 00172 extern Datum int2mod(PG_FUNCTION_ARGS); 00173 extern Datum int24mod(PG_FUNCTION_ARGS); 00174 extern Datum int42mod(PG_FUNCTION_ARGS); 00175 extern Datum int2larger(PG_FUNCTION_ARGS); 00176 extern Datum int2smaller(PG_FUNCTION_ARGS); 00177 extern Datum int4larger(PG_FUNCTION_ARGS); 00178 extern Datum int4smaller(PG_FUNCTION_ARGS); 00179 00180 extern Datum int4and(PG_FUNCTION_ARGS); 00181 extern Datum int4or(PG_FUNCTION_ARGS); 00182 extern Datum int4xor(PG_FUNCTION_ARGS); 00183 extern Datum int4not(PG_FUNCTION_ARGS); 00184 extern Datum int4shl(PG_FUNCTION_ARGS); 00185 extern Datum int4shr(PG_FUNCTION_ARGS); 00186 extern Datum int2and(PG_FUNCTION_ARGS); 00187 extern Datum int2or(PG_FUNCTION_ARGS); 00188 extern Datum int2xor(PG_FUNCTION_ARGS); 00189 extern Datum int2not(PG_FUNCTION_ARGS); 00190 extern Datum int2shl(PG_FUNCTION_ARGS); 00191 extern Datum int2shr(PG_FUNCTION_ARGS); 00192 extern Datum generate_series_int4(PG_FUNCTION_ARGS); 00193 extern Datum generate_series_step_int4(PG_FUNCTION_ARGS); 00194 extern int2vector *buildint2vector(const int2 *int2s, int n); 00195 00196 /* name.c */ 00197 extern Datum namein(PG_FUNCTION_ARGS); 00198 extern Datum nameout(PG_FUNCTION_ARGS); 00199 extern Datum namerecv(PG_FUNCTION_ARGS); 00200 extern Datum namesend(PG_FUNCTION_ARGS); 00201 extern Datum nameeq(PG_FUNCTION_ARGS); 00202 extern Datum namene(PG_FUNCTION_ARGS); 00203 extern Datum namelt(PG_FUNCTION_ARGS); 00204 extern Datum namele(PG_FUNCTION_ARGS); 00205 extern Datum namegt(PG_FUNCTION_ARGS); 00206 extern Datum namege(PG_FUNCTION_ARGS); 00207 extern Datum name_pattern_eq(PG_FUNCTION_ARGS); 00208 extern Datum name_pattern_ne(PG_FUNCTION_ARGS); 00209 extern Datum name_pattern_lt(PG_FUNCTION_ARGS); 00210 extern Datum name_pattern_le(PG_FUNCTION_ARGS); 00211 extern Datum name_pattern_gt(PG_FUNCTION_ARGS); 00212 extern Datum name_pattern_ge(PG_FUNCTION_ARGS); 00213 extern int namecpy(Name n1, Name n2); 00214 extern int namestrcpy(Name name, const char *str); 00215 extern int namestrcmp(Name name, const char *str); 00216 extern Datum current_user(PG_FUNCTION_ARGS); 00217 extern Datum session_user(PG_FUNCTION_ARGS); 00218 extern Datum current_schema(PG_FUNCTION_ARGS); 00219 extern Datum current_schemas(PG_FUNCTION_ARGS); 00220 00221 /* numutils.c */ 00222 extern int32 pg_atoi(char *s, int size, int c); 00223 extern void pg_itoa(int16 i, char *a); 00224 extern void pg_ltoa(int32 l, char *a); 00225 00226 /* 00227 * Per-opclass comparison functions for new btrees. These are 00228 * stored in pg_amproc and defined in access/nbtree/nbtcompare.c 00229 */ 00230 extern Datum btboolcmp(PG_FUNCTION_ARGS); 00231 extern Datum btint2cmp(PG_FUNCTION_ARGS); 00232 extern Datum btint4cmp(PG_FUNCTION_ARGS); 00233 extern Datum btint8cmp(PG_FUNCTION_ARGS); 00234 extern Datum btfloat4cmp(PG_FUNCTION_ARGS); 00235 extern Datum btfloat8cmp(PG_FUNCTION_ARGS); 00236 extern Datum btint48cmp(PG_FUNCTION_ARGS); 00237 extern Datum btint84cmp(PG_FUNCTION_ARGS); 00238 extern Datum btint24cmp(PG_FUNCTION_ARGS); 00239 extern Datum btint42cmp(PG_FUNCTION_ARGS); 00240 extern Datum btint28cmp(PG_FUNCTION_ARGS); 00241 extern Datum btint82cmp(PG_FUNCTION_ARGS); 00242 extern Datum btfloat48cmp(PG_FUNCTION_ARGS); 00243 extern Datum btfloat84cmp(PG_FUNCTION_ARGS); 00244 extern Datum btoidcmp(PG_FUNCTION_ARGS); 00245 extern Datum btoidvectorcmp(PG_FUNCTION_ARGS); 00246 extern Datum btabstimecmp(PG_FUNCTION_ARGS); 00247 extern Datum btreltimecmp(PG_FUNCTION_ARGS); 00248 extern Datum bttintervalcmp(PG_FUNCTION_ARGS); 00249 extern Datum btcharcmp(PG_FUNCTION_ARGS); 00250 extern Datum btnamecmp(PG_FUNCTION_ARGS); 00251 extern Datum bttextcmp(PG_FUNCTION_ARGS); 00252 extern Datum btname_pattern_cmp(PG_FUNCTION_ARGS); 00253 extern Datum bttext_pattern_cmp(PG_FUNCTION_ARGS); 00254 00255 /* float.c */ 00256 extern DLLIMPORT int extra_float_digits; 00257 00258 extern double get_float8_infinity(void); 00259 extern float get_float4_infinity(void); 00260 extern double get_float8_nan(void); 00261 extern float get_float4_nan(void); 00262 extern int is_infinite(double val); 00263 00264 extern Datum float4in(PG_FUNCTION_ARGS); 00265 extern Datum float4out(PG_FUNCTION_ARGS); 00266 extern Datum float4recv(PG_FUNCTION_ARGS); 00267 extern Datum float4send(PG_FUNCTION_ARGS); 00268 extern Datum float8in(PG_FUNCTION_ARGS); 00269 extern Datum float8out(PG_FUNCTION_ARGS); 00270 extern Datum float8recv(PG_FUNCTION_ARGS); 00271 extern Datum float8send(PG_FUNCTION_ARGS); 00272 extern Datum float4abs(PG_FUNCTION_ARGS); 00273 extern Datum float4um(PG_FUNCTION_ARGS); 00274 extern Datum float4up(PG_FUNCTION_ARGS); 00275 extern Datum float4larger(PG_FUNCTION_ARGS); 00276 extern Datum float4smaller(PG_FUNCTION_ARGS); 00277 extern Datum float8abs(PG_FUNCTION_ARGS); 00278 extern Datum float8um(PG_FUNCTION_ARGS); 00279 extern Datum float8up(PG_FUNCTION_ARGS); 00280 extern Datum float8larger(PG_FUNCTION_ARGS); 00281 extern Datum float8smaller(PG_FUNCTION_ARGS); 00282 extern Datum float4pl(PG_FUNCTION_ARGS); 00283 extern Datum float4mi(PG_FUNCTION_ARGS); 00284 extern Datum float4mul(PG_FUNCTION_ARGS); 00285 extern Datum float4div(PG_FUNCTION_ARGS); 00286 extern Datum float8pl(PG_FUNCTION_ARGS); 00287 extern Datum float8mi(PG_FUNCTION_ARGS); 00288 extern Datum float8mul(PG_FUNCTION_ARGS); 00289 extern Datum float8div(PG_FUNCTION_ARGS); 00290 extern Datum float4eq(PG_FUNCTION_ARGS); 00291 extern Datum float4ne(PG_FUNCTION_ARGS); 00292 extern Datum float4lt(PG_FUNCTION_ARGS); 00293 extern Datum float4le(PG_FUNCTION_ARGS); 00294 extern Datum float4gt(PG_FUNCTION_ARGS); 00295 extern Datum float4ge(PG_FUNCTION_ARGS); 00296 extern Datum float8eq(PG_FUNCTION_ARGS); 00297 extern Datum float8ne(PG_FUNCTION_ARGS); 00298 extern Datum float8lt(PG_FUNCTION_ARGS); 00299 extern Datum float8le(PG_FUNCTION_ARGS); 00300 extern Datum float8gt(PG_FUNCTION_ARGS); 00301 extern Datum float8ge(PG_FUNCTION_ARGS); 00302 extern Datum ftod(PG_FUNCTION_ARGS); 00303 extern Datum i4tod(PG_FUNCTION_ARGS); 00304 extern Datum i2tod(PG_FUNCTION_ARGS); 00305 extern Datum dtof(PG_FUNCTION_ARGS); 00306 extern Datum dtoi4(PG_FUNCTION_ARGS); 00307 extern Datum dtoi2(PG_FUNCTION_ARGS); 00308 extern Datum i4tof(PG_FUNCTION_ARGS); 00309 extern Datum i2tof(PG_FUNCTION_ARGS); 00310 extern Datum ftoi4(PG_FUNCTION_ARGS); 00311 extern Datum ftoi2(PG_FUNCTION_ARGS); 00312 extern Datum text_float8(PG_FUNCTION_ARGS); 00313 extern Datum text_float4(PG_FUNCTION_ARGS); 00314 extern Datum float8_text(PG_FUNCTION_ARGS); 00315 extern Datum float4_text(PG_FUNCTION_ARGS); 00316 extern Datum dround(PG_FUNCTION_ARGS); 00317 extern Datum dceil(PG_FUNCTION_ARGS); 00318 extern Datum dfloor(PG_FUNCTION_ARGS); 00319 extern Datum dsign(PG_FUNCTION_ARGS); 00320 extern Datum dtrunc(PG_FUNCTION_ARGS); 00321 extern Datum dsqrt(PG_FUNCTION_ARGS); 00322 extern Datum dcbrt(PG_FUNCTION_ARGS); 00323 extern Datum dpow(PG_FUNCTION_ARGS); 00324 extern Datum dexp(PG_FUNCTION_ARGS); 00325 extern Datum dlog1(PG_FUNCTION_ARGS); 00326 extern Datum dlog10(PG_FUNCTION_ARGS); 00327 extern Datum dacos(PG_FUNCTION_ARGS); 00328 extern Datum dasin(PG_FUNCTION_ARGS); 00329 extern Datum datan(PG_FUNCTION_ARGS); 00330 extern Datum datan2(PG_FUNCTION_ARGS); 00331 extern Datum dcos(PG_FUNCTION_ARGS); 00332 extern Datum dcot(PG_FUNCTION_ARGS); 00333 extern Datum dsin(PG_FUNCTION_ARGS); 00334 extern Datum dtan(PG_FUNCTION_ARGS); 00335 extern Datum degrees(PG_FUNCTION_ARGS); 00336 extern Datum dpi(PG_FUNCTION_ARGS); 00337 extern Datum radians(PG_FUNCTION_ARGS); 00338 extern Datum drandom(PG_FUNCTION_ARGS); 00339 extern Datum setseed(PG_FUNCTION_ARGS); 00340 extern Datum float8_accum(PG_FUNCTION_ARGS); 00341 extern Datum float4_accum(PG_FUNCTION_ARGS); 00342 extern Datum float8_avg(PG_FUNCTION_ARGS); 00343 extern Datum float8_variance(PG_FUNCTION_ARGS); 00344 extern Datum float8_stddev(PG_FUNCTION_ARGS); 00345 extern Datum float48pl(PG_FUNCTION_ARGS); 00346 extern Datum float48mi(PG_FUNCTION_ARGS); 00347 extern Datum float48mul(PG_FUNCTION_ARGS); 00348 extern Datum float48div(PG_FUNCTION_ARGS); 00349 extern Datum float84pl(PG_FUNCTION_ARGS); 00350 extern Datum float84mi(PG_FUNCTION_ARGS); 00351 extern Datum float84mul(PG_FUNCTION_ARGS); 00352 extern Datum float84div(PG_FUNCTION_ARGS); 00353 extern Datum float48eq(PG_FUNCTION_ARGS); 00354 extern Datum float48ne(PG_FUNCTION_ARGS); 00355 extern Datum float48lt(PG_FUNCTION_ARGS); 00356 extern Datum float48le(PG_FUNCTION_ARGS); 00357 extern Datum float48gt(PG_FUNCTION_ARGS); 00358 extern Datum float48ge(PG_FUNCTION_ARGS); 00359 extern Datum float84eq(PG_FUNCTION_ARGS); 00360 extern Datum float84ne(PG_FUNCTION_ARGS); 00361 extern Datum float84lt(PG_FUNCTION_ARGS); 00362 extern Datum float84le(PG_FUNCTION_ARGS); 00363 extern Datum float84gt(PG_FUNCTION_ARGS); 00364 extern Datum float84ge(PG_FUNCTION_ARGS); 00365 00366 /* dbsize.c */ 00367 extern Datum pg_tablespace_size_oid(PG_FUNCTION_ARGS); 00368 extern Datum pg_tablespace_size_name(PG_FUNCTION_ARGS); 00369 extern Datum pg_database_size_oid(PG_FUNCTION_ARGS); 00370 extern Datum pg_database_size_name(PG_FUNCTION_ARGS); 00371 extern Datum pg_relation_size_oid(PG_FUNCTION_ARGS); 00372 extern Datum pg_relation_size_name(PG_FUNCTION_ARGS); 00373 extern Datum pg_total_relation_size_oid(PG_FUNCTION_ARGS); 00374 extern Datum pg_total_relation_size_name(PG_FUNCTION_ARGS); 00375 extern Datum pg_size_pretty(PG_FUNCTION_ARGS); 00376 00377 /* genfile.c */ 00378 extern Datum pg_stat_file(PG_FUNCTION_ARGS); 00379 extern Datum pg_read_file(PG_FUNCTION_ARGS); 00380 extern Datum pg_ls_dir(PG_FUNCTION_ARGS); 00381 00382 /* misc.c */ 00383 extern Datum nullvalue(PG_FUNCTION_ARGS); 00384 extern Datum nonnullvalue(PG_FUNCTION_ARGS); 00385 extern Datum current_database(PG_FUNCTION_ARGS); 00386 extern Datum pg_cancel_backend(PG_FUNCTION_ARGS); 00387 extern Datum pg_reload_conf(PG_FUNCTION_ARGS); 00388 extern Datum pg_tablespace_databases(PG_FUNCTION_ARGS); 00389 extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS); 00390 00391 /* not_in.c */ 00392 extern Datum int4notin(PG_FUNCTION_ARGS); 00393 extern Datum oidnotin(PG_FUNCTION_ARGS); 00394 00395 /* oid.c */ 00396 extern Datum oidin(PG_FUNCTION_ARGS); 00397 extern Datum oidout(PG_FUNCTION_ARGS); 00398 extern Datum oidrecv(PG_FUNCTION_ARGS); 00399 extern Datum oidsend(PG_FUNCTION_ARGS); 00400 extern Datum oideq(PG_FUNCTION_ARGS); 00401 extern Datum oidne(PG_FUNCTION_ARGS); 00402 extern Datum oidlt(PG_FUNCTION_ARGS); 00403 extern Datum oidle(PG_FUNCTION_ARGS); 00404 extern Datum oidge(PG_FUNCTION_ARGS); 00405 extern Datum oidgt(PG_FUNCTION_ARGS); 00406 extern Datum oidlarger(PG_FUNCTION_ARGS); 00407 extern Datum oidsmaller(PG_FUNCTION_ARGS); 00408 extern Datum oid_text(PG_FUNCTION_ARGS); 00409 extern Datum text_oid(PG_FUNCTION_ARGS); 00410 extern Datum oidvectorin(PG_FUNCTION_ARGS); 00411 extern Datum oidvectorout(PG_FUNCTION_ARGS); 00412 extern Datum oidvectorrecv(PG_FUNCTION_ARGS); 00413 extern Datum oidvectorsend(PG_FUNCTION_ARGS); 00414 extern Datum oidvectoreq(PG_FUNCTION_ARGS); 00415 extern Datum oidvectorne(PG_FUNCTION_ARGS); 00416 extern Datum oidvectorlt(PG_FUNCTION_ARGS); 00417 extern Datum oidvectorle(PG_FUNCTION_ARGS); 00418 extern Datum oidvectorge(PG_FUNCTION_ARGS); 00419 extern Datum oidvectorgt(PG_FUNCTION_ARGS); 00420 extern oidvector *buildoidvector(const Oid *oids, int n); 00421 00422 /* pseudotypes.c */ 00423 extern Datum cstring_in(PG_FUNCTION_ARGS); 00424 extern Datum cstring_out(PG_FUNCTION_ARGS); 00425 extern Datum cstring_recv(PG_FUNCTION_ARGS); 00426 extern Datum cstring_send(PG_FUNCTION_ARGS); 00427 extern Datum any_in(PG_FUNCTION_ARGS); 00428 extern Datum any_out(PG_FUNCTION_ARGS); 00429 extern Datum anyarray_in(PG_FUNCTION_ARGS); 00430 extern Datum anyarray_out(PG_FUNCTION_ARGS); 00431 extern Datum anyarray_recv(PG_FUNCTION_ARGS); 00432 extern Datum anyarray_send(PG_FUNCTION_ARGS); 00433 extern Datum void_in(PG_FUNCTION_ARGS); 00434 extern Datum void_out(PG_FUNCTION_ARGS); 00435 extern Datum trigger_in(PG_FUNCTION_ARGS); 00436 extern Datum trigger_out(PG_FUNCTION_ARGS); 00437 extern Datum language_handler_in(PG_FUNCTION_ARGS); 00438 extern Datum language_handler_out(PG_FUNCTION_ARGS); 00439 extern Datum internal_in(PG_FUNCTION_ARGS); 00440 extern Datum internal_out(PG_FUNCTION_ARGS); 00441 extern Datum opaque_in(PG_FUNCTION_ARGS); 00442 extern Datum opaque_out(PG_FUNCTION_ARGS); 00443 extern Datum anyelement_in(PG_FUNCTION_ARGS); 00444 extern Datum anyelement_out(PG_FUNCTION_ARGS); 00445 00446 /* regexp.c */ 00447 extern Datum nameregexeq(PG_FUNCTION_ARGS); 00448 extern Datum nameregexne(PG_FUNCTION_ARGS); 00449 extern Datum textregexeq(PG_FUNCTION_ARGS); 00450 extern Datum textregexne(PG_FUNCTION_ARGS); 00451 extern Datum nameicregexeq(PG_FUNCTION_ARGS); 00452 extern Datum nameicregexne(PG_FUNCTION_ARGS); 00453 extern Datum texticregexeq(PG_FUNCTION_ARGS); 00454 extern Datum texticregexne(PG_FUNCTION_ARGS); 00455 extern Datum textregexsubstr(PG_FUNCTION_ARGS); 00456 extern Datum textregexreplace_noopt(PG_FUNCTION_ARGS); 00457 extern Datum textregexreplace(PG_FUNCTION_ARGS); 00458 extern Datum similar_escape(PG_FUNCTION_ARGS); 00459 00460 /* regproc.c */ 00461 extern Datum regprocin(PG_FUNCTION_ARGS); 00462 extern Datum regprocout(PG_FUNCTION_ARGS); 00463 extern Datum regprocrecv(PG_FUNCTION_ARGS); 00464 extern Datum regprocsend(PG_FUNCTION_ARGS); 00465 extern Datum regprocedurein(PG_FUNCTION_ARGS); 00466 extern Datum regprocedureout(PG_FUNCTION_ARGS); 00467 extern Datum regprocedurerecv(PG_FUNCTION_ARGS); 00468 extern Datum regproceduresend(PG_FUNCTION_ARGS); 00469 extern Datum regoperin(PG_FUNCTION_ARGS); 00470 extern Datum regoperout(PG_FUNCTION_ARGS); 00471 extern Datum regoperrecv(PG_FUNCTION_ARGS); 00472 extern Datum regopersend(PG_FUNCTION_ARGS); 00473 extern Datum regoperatorin(PG_FUNCTION_ARGS); 00474 extern Datum regoperatorout(PG_FUNCTION_ARGS); 00475 extern Datum regoperatorrecv(PG_FUNCTION_ARGS); 00476 extern Datum regoperatorsend(PG_FUNCTION_ARGS); 00477 extern Datum regclassin(PG_FUNCTION_ARGS); 00478 extern Datum regclassout(PG_FUNCTION_ARGS); 00479 extern Datum regclassrecv(PG_FUNCTION_ARGS); 00480 extern Datum regclasssend(PG_FUNCTION_ARGS); 00481 extern Datum regtypein(PG_FUNCTION_ARGS); 00482 extern Datum regtypeout(PG_FUNCTION_ARGS); 00483 extern Datum regtyperecv(PG_FUNCTION_ARGS); 00484 extern Datum regtypesend(PG_FUNCTION_ARGS); 00485 extern Datum text_regclass(PG_FUNCTION_ARGS); 00486 extern List *stringToQualifiedNameList(const char *string, const char *caller); 00487 extern char *format_procedure(Oid procedure_oid); 00488 extern char *format_operator(Oid operator_oid); 00489 00490 /* rowtypes.c */ 00491 extern Datum record_in(PG_FUNCTION_ARGS); 00492 extern Datum record_out(PG_FUNCTION_ARGS); 00493 extern Datum record_recv(PG_FUNCTION_ARGS); 00494 extern Datum record_send(PG_FUNCTION_ARGS); 00495 00496 /* ruleutils.c */ 00497 extern Datum pg_get_ruledef(PG_FUNCTION_ARGS); 00498 extern Datum pg_get_ruledef_ext(PG_FUNCTION_ARGS); 00499 extern Datum pg_get_viewdef(PG_FUNCTION_ARGS); 00500 extern Datum pg_get_viewdef_ext(PG_FUNCTION_ARGS); 00501 extern Datum pg_get_viewdef_name(PG_FUNCTION_ARGS); 00502 extern Datum pg_get_viewdef_name_ext(PG_FUNCTION_ARGS); 00503 extern Datum pg_get_indexdef(PG_FUNCTION_ARGS); 00504 extern Datum pg_get_indexdef_ext(PG_FUNCTION_ARGS); 00505 extern char *pg_get_indexdef_string(Oid indexrelid); 00506 extern Datum pg_get_triggerdef(PG_FUNCTION_ARGS); 00507 extern Datum pg_get_constraintdef(PG_FUNCTION_ARGS); 00508 extern Datum pg_get_constraintdef_ext(PG_FUNCTION_ARGS); 00509 extern char *pg_get_constraintdef_string(Oid constraintId); 00510 extern Datum pg_get_expr(PG_FUNCTION_ARGS); 00511 extern Datum pg_get_expr_ext(PG_FUNCTION_ARGS); 00512 extern Datum pg_get_userbyid(PG_FUNCTION_ARGS); 00513 extern Datum pg_get_serial_sequence(PG_FUNCTION_ARGS); 00514 extern char *deparse_expression(Node *expr, List *dpcontext, 00515 bool forceprefix, bool showimplicit); 00516 extern List *deparse_context_for(const char *aliasname, Oid relid); 00517 extern List *deparse_context_for_plan(int outer_varno, Node *outercontext, 00518 int inner_varno, Node *innercontext, 00519 List *rtable); 00520 extern Node *deparse_context_for_rte(RangeTblEntry *rte); 00521 extern Node *deparse_context_for_subplan(const char *name, List *tlist, 00522 List *rtable); 00523 extern const char *quote_identifier(const char *ident); 00524 extern char *quote_qualified_identifier(const char *namespace, 00525 const char *ident); 00526 00527 /* tid.c */ 00528 extern Datum tidin(PG_FUNCTION_ARGS); 00529 extern Datum tidout(PG_FUNCTION_ARGS); 00530 extern Datum tidrecv(PG_FUNCTION_ARGS); 00531 extern Datum tidsend(PG_FUNCTION_ARGS); 00532 extern Datum tideq(PG_FUNCTION_ARGS); 00533 extern Datum currtid_byreloid(PG_FUNCTION_ARGS); 00534 extern Datum currtid_byrelname(PG_FUNCTION_ARGS); 00535 00536 /* varchar.c */ 00537 extern Datum bpcharin(PG_FUNCTION_ARGS); 00538 extern Datum bpcharout(PG_FUNCTION_ARGS); 00539 extern Datum bpcharrecv(PG_FUNCTION_ARGS); 00540 extern Datum bpcharsend(PG_FUNCTION_ARGS); 00541 extern Datum bpchar(PG_FUNCTION_ARGS); 00542 extern Datum char_bpchar(PG_FUNCTION_ARGS); 00543 extern Datum name_bpchar(PG_FUNCTION_ARGS); 00544 extern Datum bpchar_name(PG_FUNCTION_ARGS); 00545 extern Datum bpchareq(PG_FUNCTION_ARGS); 00546 extern Datum bpcharne(PG_FUNCTION_ARGS); 00547 extern Datum bpcharlt(PG_FUNCTION_ARGS); 00548 extern Datum bpcharle(PG_FUNCTION_ARGS); 00549 extern Datum bpchargt(PG_FUNCTION_ARGS); 00550 extern Datum bpcharge(PG_FUNCTION_ARGS); 00551 extern Datum bpcharcmp(PG_FUNCTION_ARGS); 00552 extern Datum bpchar_larger(PG_FUNCTION_ARGS); 00553 extern Datum bpchar_smaller(PG_FUNCTION_ARGS); 00554 extern Datum bpcharlen(PG_FUNCTION_ARGS); 00555 extern Datum bpcharoctetlen(PG_FUNCTION_ARGS); 00556 extern Datum hashbpchar(PG_FUNCTION_ARGS); 00557 00558 extern Datum varcharin(PG_FUNCTION_ARGS); 00559 extern Datum varcharout(PG_FUNCTION_ARGS); 00560 extern Datum varcharrecv(PG_FUNCTION_ARGS); 00561 extern Datum varcharsend(PG_FUNCTION_ARGS); 00562 extern Datum varchar(PG_FUNCTION_ARGS); 00563 00564 /* varlena.c */ 00565 extern Datum textin(PG_FUNCTION_ARGS); 00566 extern Datum textout(PG_FUNCTION_ARGS); 00567 extern Datum textrecv(PG_FUNCTION_ARGS); 00568 extern Datum textsend(PG_FUNCTION_ARGS); 00569 extern Datum textcat(PG_FUNCTION_ARGS); 00570 extern Datum texteq(PG_FUNCTION_ARGS); 00571 extern Datum textne(PG_FUNCTION_ARGS); 00572 extern Datum text_lt(PG_FUNCTION_ARGS); 00573 extern Datum text_le(PG_FUNCTION_ARGS); 00574 extern Datum text_gt(PG_FUNCTION_ARGS); 00575 extern Datum text_ge(PG_FUNCTION_ARGS); 00576 extern Datum text_larger(PG_FUNCTION_ARGS); 00577 extern Datum text_smaller(PG_FUNCTION_ARGS); 00578 extern Datum text_pattern_eq(PG_FUNCTION_ARGS); 00579 extern Datum text_pattern_ne(PG_FUNCTION_ARGS); 00580 extern Datum text_pattern_lt(PG_FUNCTION_ARGS); 00581 extern Datum text_pattern_le(PG_FUNCTION_ARGS); 00582 extern Datum text_pattern_gt(PG_FUNCTION_ARGS); 00583 extern Datum text_pattern_ge(PG_FUNCTION_ARGS); 00584 extern Datum textlen(PG_FUNCTION_ARGS); 00585 extern Datum textoctetlen(PG_FUNCTION_ARGS); 00586 extern Datum textpos(PG_FUNCTION_ARGS); 00587 extern Datum text_substr(PG_FUNCTION_ARGS); 00588 extern Datum text_substr_no_len(PG_FUNCTION_ARGS); 00589 extern Datum name_text(PG_FUNCTION_ARGS); 00590 extern Datum text_name(PG_FUNCTION_ARGS); 00591 extern int varstr_cmp(char *arg1, int len1, char *arg2, int len2); 00592 extern List *textToQualifiedNameList(text *textval); 00593 extern bool SplitIdentifierString(char *rawstring, char separator, 00594 List **namelist); 00595 extern Datum replace_text(PG_FUNCTION_ARGS); 00596 extern text *replace_text_regexp(text *src_text, void *regexp, 00597 text *replace_text, bool glob); 00598 extern Datum split_text(PG_FUNCTION_ARGS); 00599 extern Datum text_to_array(PG_FUNCTION_ARGS); 00600 extern Datum array_to_text(PG_FUNCTION_ARGS); 00601 extern Datum to_hex32(PG_FUNCTION_ARGS); 00602 extern Datum to_hex64(PG_FUNCTION_ARGS); 00603 extern Datum md5_text(PG_FUNCTION_ARGS); 00604 extern Datum md5_bytea(PG_FUNCTION_ARGS); 00605 00606 extern Datum unknownin(PG_FUNCTION_ARGS); 00607 extern Datum unknownout(PG_FUNCTION_ARGS); 00608 extern Datum unknownrecv(PG_FUNCTION_ARGS); 00609 extern Datum unknownsend(PG_FUNCTION_ARGS); 00610 00611 extern Datum byteain(PG_FUNCTION_ARGS); 00612 extern Datum byteaout(PG_FUNCTION_ARGS); 00613 extern Datum bytearecv(PG_FUNCTION_ARGS); 00614 extern Datum byteasend(PG_FUNCTION_ARGS); 00615 extern Datum byteaoctetlen(PG_FUNCTION_ARGS); 00616 extern Datum byteaGetByte(PG_FUNCTION_ARGS); 00617 extern Datum byteaGetBit(PG_FUNCTION_ARGS); 00618 extern Datum byteaSetByte(PG_FUNCTION_ARGS); 00619 extern Datum byteaSetBit(PG_FUNCTION_ARGS); 00620 extern Datum binary_encode(PG_FUNCTION_ARGS); 00621 extern Datum binary_decode(PG_FUNCTION_ARGS); 00622 extern Datum byteaeq(PG_FUNCTION_ARGS); 00623 extern Datum byteane(PG_FUNCTION_ARGS); 00624 extern Datum bytealt(PG_FUNCTION_ARGS); 00625 extern Datum byteale(PG_FUNCTION_ARGS); 00626 extern Datum byteagt(PG_FUNCTION_ARGS); 00627 extern Datum byteage(PG_FUNCTION_ARGS); 00628 extern Datum byteacmp(PG_FUNCTION_ARGS); 00629 extern Datum byteacat(PG_FUNCTION_ARGS); 00630 extern Datum byteapos(PG_FUNCTION_ARGS); 00631 extern Datum bytea_substr(PG_FUNCTION_ARGS); 00632 extern Datum bytea_substr_no_len(PG_FUNCTION_ARGS); 00633 extern Datum pg_column_size(PG_FUNCTION_ARGS); 00634 00635 /* version.c */ 00636 extern Datum pgsql_version(PG_FUNCTION_ARGS); 00637 00638 /* xid.c */ 00639 extern Datum xidin(PG_FUNCTION_ARGS); 00640 extern Datum xidout(PG_FUNCTION_ARGS); 00641 extern Datum xidrecv(PG_FUNCTION_ARGS); 00642 extern Datum xidsend(PG_FUNCTION_ARGS); 00643 extern Datum xideq(PG_FUNCTION_ARGS); 00644 extern Datum xid_age(PG_FUNCTION_ARGS); 00645 extern Datum cidin(PG_FUNCTION_ARGS); 00646 extern Datum cidout(PG_FUNCTION_ARGS); 00647 extern Datum cidrecv(PG_FUNCTION_ARGS); 00648 extern Datum cidsend(PG_FUNCTION_ARGS); 00649 extern Datum cideq(PG_FUNCTION_ARGS); 00650 00651 /* like.c */ 00652 extern Datum namelike(PG_FUNCTION_ARGS); 00653 extern Datum namenlike(PG_FUNCTION_ARGS); 00654 extern Datum nameiclike(PG_FUNCTION_ARGS); 00655 extern Datum nameicnlike(PG_FUNCTION_ARGS); 00656 extern Datum textlike(PG_FUNCTION_ARGS); 00657 extern Datum textnlike(PG_FUNCTION_ARGS); 00658 extern Datum texticlike(PG_FUNCTION_ARGS); 00659 extern Datum texticnlike(PG_FUNCTION_ARGS); 00660 extern Datum bytealike(PG_FUNCTION_ARGS); 00661 extern Datum byteanlike(PG_FUNCTION_ARGS); 00662 extern Datum like_escape(PG_FUNCTION_ARGS); 00663 extern Datum like_escape_bytea(PG_FUNCTION_ARGS); 00664 00665 /* oracle_compat.c */ 00666 extern Datum lower(PG_FUNCTION_ARGS); 00667 extern Datum upper(PG_FUNCTION_ARGS); 00668 extern Datum initcap(PG_FUNCTION_ARGS); 00669 extern Datum lpad(PG_FUNCTION_ARGS); 00670 extern Datum rpad(PG_FUNCTION_ARGS); 00671 extern Datum btrim(PG_FUNCTION_ARGS); 00672 extern Datum btrim1(PG_FUNCTION_ARGS); 00673 extern Datum byteatrim(PG_FUNCTION_ARGS); 00674 extern Datum ltrim(PG_FUNCTION_ARGS); 00675 extern Datum ltrim1(PG_FUNCTION_ARGS); 00676 extern Datum rtrim(PG_FUNCTION_ARGS); 00677 extern Datum rtrim1(PG_FUNCTION_ARGS); 00678 extern Datum translate(PG_FUNCTION_ARGS); 00679 extern Datum chr (PG_FUNCTION_ARGS); 00680 extern Datum repeat(PG_FUNCTION_ARGS); 00681 extern Datum ascii(PG_FUNCTION_ARGS); 00682 00683 /* inet_net_ntop.c */ 00684 extern char *inet_net_ntop(int af, const void *src, int bits, 00685 char *dst, size_t size); 00686 extern char *inet_cidr_ntop(int af, const void *src, int bits, 00687 char *dst, size_t size); 00688 00689 /* inet_net_pton.c */ 00690 extern int inet_net_pton(int af, const char *src, 00691 void *dst, size_t size); 00692 00693 /* network.c */ 00694 extern Datum inet_in(PG_FUNCTION_ARGS); 00695 extern Datum inet_out(PG_FUNCTION_ARGS); 00696 extern Datum inet_recv(PG_FUNCTION_ARGS); 00697 extern Datum inet_send(PG_FUNCTION_ARGS); 00698 extern Datum cidr_in(PG_FUNCTION_ARGS); 00699 extern Datum cidr_out(PG_FUNCTION_ARGS); 00700 extern Datum cidr_recv(PG_FUNCTION_ARGS); 00701 extern Datum cidr_send(PG_FUNCTION_ARGS); 00702 extern Datum network_cmp(PG_FUNCTION_ARGS); 00703 extern Datum network_lt(PG_FUNCTION_ARGS); 00704 extern Datum network_le(PG_FUNCTION_ARGS); 00705 extern Datum network_eq(PG_FUNCTION_ARGS); 00706 extern Datum network_ge(PG_FUNCTION_ARGS); 00707 extern Datum network_gt(PG_FUNCTION_ARGS); 00708 extern Datum network_ne(PG_FUNCTION_ARGS); 00709 extern Datum hashinet(PG_FUNCTION_ARGS); 00710 extern Datum network_sub(PG_FUNCTION_ARGS); 00711 extern Datum network_subeq(PG_FUNCTION_ARGS); 00712 extern Datum network_sup(PG_FUNCTION_ARGS); 00713 extern Datum network_supeq(PG_FUNCTION_ARGS); 00714 extern Datum network_network(PG_FUNCTION_ARGS); 00715 extern Datum network_netmask(PG_FUNCTION_ARGS); 00716 extern Datum network_hostmask(PG_FUNCTION_ARGS); 00717 extern Datum network_masklen(PG_FUNCTION_ARGS); 00718 extern Datum network_family(PG_FUNCTION_ARGS); 00719 extern Datum network_broadcast(PG_FUNCTION_ARGS); 00720 extern Datum network_host(PG_FUNCTION_ARGS); 00721 extern Datum network_show(PG_FUNCTION_ARGS); 00722 extern Datum network_abbrev(PG_FUNCTION_ARGS); 00723 extern double convert_network_to_scalar(Datum value, Oid typid); 00724 extern Datum text_cidr(PG_FUNCTION_ARGS); 00725 extern Datum text_inet(PG_FUNCTION_ARGS); 00726 extern Datum inet_set_masklen(PG_FUNCTION_ARGS); 00727 extern Datum network_scan_first(Datum in); 00728 extern Datum network_scan_last(Datum in); 00729 extern Datum inet_client_addr(PG_FUNCTION_ARGS); 00730 extern Datum inet_client_port(PG_FUNCTION_ARGS); 00731 extern Datum inet_server_addr(PG_FUNCTION_ARGS); 00732 extern Datum inet_server_port(PG_FUNCTION_ARGS); 00733 00734 /* mac.c */ 00735 extern Datum macaddr_in(PG_FUNCTION_ARGS); 00736 extern Datum macaddr_out(PG_FUNCTION_ARGS); 00737 extern Datum macaddr_recv(PG_FUNCTION_ARGS); 00738 extern Datum macaddr_send(PG_FUNCTION_ARGS); 00739 extern Datum macaddr_cmp(PG_FUNCTION_ARGS); 00740 extern Datum macaddr_lt(PG_FUNCTION_ARGS); 00741 extern Datum macaddr_le(PG_FUNCTION_ARGS); 00742 extern Datum macaddr_eq(PG_FUNCTION_ARGS); 00743 extern Datum macaddr_ge(PG_FUNCTION_ARGS); 00744 extern Datum macaddr_gt(PG_FUNCTION_ARGS); 00745 extern Datum macaddr_ne(PG_FUNCTION_ARGS); 00746 extern Datum macaddr_trunc(PG_FUNCTION_ARGS); 00747 extern Datum macaddr_text(PG_FUNCTION_ARGS); 00748 extern Datum text_macaddr(PG_FUNCTION_ARGS); 00749 extern Datum hashmacaddr(PG_FUNCTION_ARGS); 00750 00751 /* numeric.c */ 00752 extern Datum numeric_in(PG_FUNCTION_ARGS); 00753 extern Datum numeric_out(PG_FUNCTION_ARGS); 00754 extern Datum numeric_recv(PG_FUNCTION_ARGS); 00755 extern Datum numeric_send(PG_FUNCTION_ARGS); 00756 extern Datum numeric (PG_FUNCTION_ARGS); 00757 extern Datum numeric_abs(PG_FUNCTION_ARGS); 00758 extern Datum numeric_uminus(PG_FUNCTION_ARGS); 00759 extern Datum numeric_uplus(PG_FUNCTION_ARGS); 00760 extern Datum numeric_sign(PG_FUNCTION_ARGS); 00761 extern Datum numeric_round(PG_FUNCTION_ARGS); 00762 extern Datum numeric_trunc(PG_FUNCTION_ARGS); 00763 extern Datum numeric_ceil(PG_FUNCTION_ARGS); 00764 extern Datum numeric_floor(PG_FUNCTION_ARGS); 00765 extern Datum numeric_cmp(PG_FUNCTION_ARGS); 00766 extern Datum numeric_eq(PG_FUNCTION_ARGS); 00767 extern Datum numeric_ne(PG_FUNCTION_ARGS); 00768 extern Datum numeric_gt(PG_FUNCTION_ARGS); 00769 extern Datum numeric_ge(PG_FUNCTION_ARGS); 00770 extern Datum numeric_lt(PG_FUNCTION_ARGS); 00771 extern Datum numeric_le(PG_FUNCTION_ARGS); 00772 extern Datum numeric_add(PG_FUNCTION_ARGS); 00773 extern Datum numeric_sub(PG_FUNCTION_ARGS); 00774 extern Datum numeric_mul(PG_FUNCTION_ARGS); 00775 extern Datum numeric_div(PG_FUNCTION_ARGS); 00776 extern Datum numeric_mod(PG_FUNCTION_ARGS); 00777 extern Datum numeric_inc(PG_FUNCTION_ARGS); 00778 extern Datum numeric_smaller(PG_FUNCTION_ARGS); 00779 extern Datum numeric_larger(PG_FUNCTION_ARGS); 00780 extern Datum numeric_fac(PG_FUNCTION_ARGS); 00781 extern Datum numeric_sqrt(PG_FUNCTION_ARGS); 00782 extern Datum numeric_exp(PG_FUNCTION_ARGS); 00783 extern Datum numeric_ln(PG_FUNCTION_ARGS); 00784 extern Datum numeric_log(PG_FUNCTION_ARGS); 00785 extern Datum numeric_power(PG_FUNCTION_ARGS); 00786 extern Datum int4_numeric(PG_FUNCTION_ARGS); 00787 extern Datum numeric_int4(PG_FUNCTION_ARGS); 00788 extern Datum int8_numeric(PG_FUNCTION_ARGS); 00789 extern Datum numeric_int8(PG_FUNCTION_ARGS); 00790 extern Datum int2_numeric(PG_FUNCTION_ARGS); 00791 extern Datum numeric_int2(PG_FUNCTION_ARGS); 00792 extern Datum float8_numeric(PG_FUNCTION_ARGS); 00793 extern Datum numeric_float8(PG_FUNCTION_ARGS); 00794 extern Datum numeric_float8_no_overflow(PG_FUNCTION_ARGS); 00795 extern Datum float4_numeric(PG_FUNCTION_ARGS); 00796 extern Datum numeric_float4(PG_FUNCTION_ARGS); 00797 extern Datum text_numeric(PG_FUNCTION_ARGS); 00798 extern Datum numeric_text(PG_FUNCTION_ARGS); 00799 extern Datum numeric_accum(PG_FUNCTION_ARGS); 00800 extern Datum int2_accum(PG_FUNCTION_ARGS); 00801 extern Datum int4_accum(PG_FUNCTION_ARGS); 00802 extern Datum int8_accum(PG_FUNCTION_ARGS); 00803 extern Datum numeric_avg(PG_FUNCTION_ARGS); 00804 extern Datum numeric_variance(PG_FUNCTION_ARGS); 00805 extern Datum numeric_stddev(PG_FUNCTION_ARGS); 00806 extern Datum int2_sum(PG_FUNCTION_ARGS); 00807 extern Datum int4_sum(PG_FUNCTION_ARGS); 00808 extern Datum int8_sum(PG_FUNCTION_ARGS); 00809 extern Datum int2_avg_accum(PG_FUNCTION_ARGS); 00810 extern Datum int4_avg_accum(PG_FUNCTION_ARGS); 00811 extern Datum int8_avg(PG_FUNCTION_ARGS); 00812 extern Datum width_bucket_numeric(PG_FUNCTION_ARGS); 00813 00814 /* ri_triggers.c */ 00815 extern Datum RI_FKey_check_ins(PG_FUNCTION_ARGS); 00816 extern Datum RI_FKey_check_upd(PG_FUNCTION_ARGS); 00817 extern Datum RI_FKey_noaction_del(PG_FUNCTION_ARGS); 00818 extern Datum RI_FKey_noaction_upd(PG_FUNCTION_ARGS); 00819 extern Datum RI_FKey_cascade_del(PG_FUNCTION_ARGS); 00820 extern Datum RI_FKey_cascade_upd(PG_FUNCTION_ARGS); 00821 extern Datum RI_FKey_restrict_del(PG_FUNCTION_ARGS); 00822 extern Datum RI_FKey_restrict_upd(PG_FUNCTION_ARGS); 00823 extern Datum RI_FKey_setnull_del(PG_FUNCTION_ARGS); 00824 extern Datum RI_FKey_setnull_upd(PG_FUNCTION_ARGS); 00825 extern Datum RI_FKey_setdefault_del(PG_FUNCTION_ARGS); 00826 extern Datum RI_FKey_setdefault_upd(PG_FUNCTION_ARGS); 00827 00828 /* encoding support functions */ 00829 extern Datum getdatabaseencoding(PG_FUNCTION_ARGS); 00830 extern Datum database_character_set(PG_FUNCTION_ARGS); 00831 extern Datum pg_client_encoding(PG_FUNCTION_ARGS); 00832 extern Datum PG_encoding_to_char(PG_FUNCTION_ARGS); 00833 extern Datum PG_char_to_encoding(PG_FUNCTION_ARGS); 00834 extern Datum PG_character_set_name(PG_FUNCTION_ARGS); 00835 extern Datum PG_character_set_id(PG_FUNCTION_ARGS); 00836 extern Datum pg_convert(PG_FUNCTION_ARGS); 00837 extern Datum pg_convert2(PG_FUNCTION_ARGS); 00838 00839 /* format_type.c */ 00840 extern Datum format_type(PG_FUNCTION_ARGS); 00841 extern char *format_type_be(Oid type_oid); 00842 extern char *format_type_with_typemod(Oid type_oid, int32 typemod); 00843 extern Datum oidvectortypes(PG_FUNCTION_ARGS); 00844 extern int32 type_maximum_size(Oid type_oid, int32 typemod); 00845 00846 /* quote.c */ 00847 extern Datum quote_ident(PG_FUNCTION_ARGS); 00848 extern Datum quote_literal(PG_FUNCTION_ARGS); 00849 00850 /* guc.c */ 00851 extern Datum show_config_by_name(PG_FUNCTION_ARGS); 00852 extern Datum set_config_by_name(PG_FUNCTION_ARGS); 00853 extern Datum show_all_settings(PG_FUNCTION_ARGS); 00854 00855 /* lockfuncs.c */ 00856 extern Datum pg_lock_status(PG_FUNCTION_ARGS); 00857 00858 /* access/transam/twophase.c */ 00859 extern Datum pg_prepared_xact(PG_FUNCTION_ARGS); 00860 00861 /* catalog/pg_conversion.c */ 00862 extern Datum pg_convert_using(PG_FUNCTION_ARGS); 00863 00864 #endif /* BUILTINS_H */