00001 /*------------------------------------------------------------------------- 00002 * 00003 * int8.h 00004 * Declarations for operations on 64-bit integers. 00005 * 00006 * 00007 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00008 * Portions Copyright (c) 1994, Regents of the University of California 00009 * 00010 * src/include/utils/int8.h 00011 * 00012 * NOTES 00013 * These data types are supported on all 64-bit architectures, and may 00014 * be supported through libraries on some 32-bit machines. If your machine 00015 * is not currently supported, then please try to make it so, then post 00016 * patches to the postgresql.org hackers mailing list. 00017 * 00018 *------------------------------------------------------------------------- 00019 */ 00020 #ifndef INT8_H 00021 #define INT8_H 00022 00023 #include "fmgr.h" 00024 00025 00026 extern bool scanint8(const char *str, bool errorOK, int64 *result); 00027 00028 extern Datum int8in(PG_FUNCTION_ARGS); 00029 extern Datum int8out(PG_FUNCTION_ARGS); 00030 extern Datum int8recv(PG_FUNCTION_ARGS); 00031 extern Datum int8send(PG_FUNCTION_ARGS); 00032 00033 extern Datum int8eq(PG_FUNCTION_ARGS); 00034 extern Datum int8ne(PG_FUNCTION_ARGS); 00035 extern Datum int8lt(PG_FUNCTION_ARGS); 00036 extern Datum int8gt(PG_FUNCTION_ARGS); 00037 extern Datum int8le(PG_FUNCTION_ARGS); 00038 extern Datum int8ge(PG_FUNCTION_ARGS); 00039 00040 extern Datum int84eq(PG_FUNCTION_ARGS); 00041 extern Datum int84ne(PG_FUNCTION_ARGS); 00042 extern Datum int84lt(PG_FUNCTION_ARGS); 00043 extern Datum int84gt(PG_FUNCTION_ARGS); 00044 extern Datum int84le(PG_FUNCTION_ARGS); 00045 extern Datum int84ge(PG_FUNCTION_ARGS); 00046 00047 extern Datum int48eq(PG_FUNCTION_ARGS); 00048 extern Datum int48ne(PG_FUNCTION_ARGS); 00049 extern Datum int48lt(PG_FUNCTION_ARGS); 00050 extern Datum int48gt(PG_FUNCTION_ARGS); 00051 extern Datum int48le(PG_FUNCTION_ARGS); 00052 extern Datum int48ge(PG_FUNCTION_ARGS); 00053 00054 extern Datum int82eq(PG_FUNCTION_ARGS); 00055 extern Datum int82ne(PG_FUNCTION_ARGS); 00056 extern Datum int82lt(PG_FUNCTION_ARGS); 00057 extern Datum int82gt(PG_FUNCTION_ARGS); 00058 extern Datum int82le(PG_FUNCTION_ARGS); 00059 extern Datum int82ge(PG_FUNCTION_ARGS); 00060 00061 extern Datum int28eq(PG_FUNCTION_ARGS); 00062 extern Datum int28ne(PG_FUNCTION_ARGS); 00063 extern Datum int28lt(PG_FUNCTION_ARGS); 00064 extern Datum int28gt(PG_FUNCTION_ARGS); 00065 extern Datum int28le(PG_FUNCTION_ARGS); 00066 extern Datum int28ge(PG_FUNCTION_ARGS); 00067 00068 extern Datum int8um(PG_FUNCTION_ARGS); 00069 extern Datum int8up(PG_FUNCTION_ARGS); 00070 extern Datum int8pl(PG_FUNCTION_ARGS); 00071 extern Datum int8mi(PG_FUNCTION_ARGS); 00072 extern Datum int8mul(PG_FUNCTION_ARGS); 00073 extern Datum int8div(PG_FUNCTION_ARGS); 00074 extern Datum int8abs(PG_FUNCTION_ARGS); 00075 extern Datum int8mod(PG_FUNCTION_ARGS); 00076 extern Datum int8inc(PG_FUNCTION_ARGS); 00077 extern Datum int8inc_any(PG_FUNCTION_ARGS); 00078 extern Datum int8inc_float8_float8(PG_FUNCTION_ARGS); 00079 extern Datum int8larger(PG_FUNCTION_ARGS); 00080 extern Datum int8smaller(PG_FUNCTION_ARGS); 00081 00082 extern Datum int8and(PG_FUNCTION_ARGS); 00083 extern Datum int8or(PG_FUNCTION_ARGS); 00084 extern Datum int8xor(PG_FUNCTION_ARGS); 00085 extern Datum int8not(PG_FUNCTION_ARGS); 00086 extern Datum int8shl(PG_FUNCTION_ARGS); 00087 extern Datum int8shr(PG_FUNCTION_ARGS); 00088 00089 extern Datum int84pl(PG_FUNCTION_ARGS); 00090 extern Datum int84mi(PG_FUNCTION_ARGS); 00091 extern Datum int84mul(PG_FUNCTION_ARGS); 00092 extern Datum int84div(PG_FUNCTION_ARGS); 00093 00094 extern Datum int48pl(PG_FUNCTION_ARGS); 00095 extern Datum int48mi(PG_FUNCTION_ARGS); 00096 extern Datum int48mul(PG_FUNCTION_ARGS); 00097 extern Datum int48div(PG_FUNCTION_ARGS); 00098 00099 extern Datum int82pl(PG_FUNCTION_ARGS); 00100 extern Datum int82mi(PG_FUNCTION_ARGS); 00101 extern Datum int82mul(PG_FUNCTION_ARGS); 00102 extern Datum int82div(PG_FUNCTION_ARGS); 00103 00104 extern Datum int28pl(PG_FUNCTION_ARGS); 00105 extern Datum int28mi(PG_FUNCTION_ARGS); 00106 extern Datum int28mul(PG_FUNCTION_ARGS); 00107 extern Datum int28div(PG_FUNCTION_ARGS); 00108 00109 extern Datum int48(PG_FUNCTION_ARGS); 00110 extern Datum int84(PG_FUNCTION_ARGS); 00111 00112 extern Datum int28(PG_FUNCTION_ARGS); 00113 extern Datum int82(PG_FUNCTION_ARGS); 00114 00115 extern Datum i8tod(PG_FUNCTION_ARGS); 00116 extern Datum dtoi8(PG_FUNCTION_ARGS); 00117 00118 extern Datum i8tof(PG_FUNCTION_ARGS); 00119 extern Datum ftoi8(PG_FUNCTION_ARGS); 00120 00121 extern Datum i8tooid(PG_FUNCTION_ARGS); 00122 extern Datum oidtoi8(PG_FUNCTION_ARGS); 00123 00124 extern Datum generate_series_int8(PG_FUNCTION_ARGS); 00125 extern Datum generate_series_step_int8(PG_FUNCTION_ARGS); 00126 00127 #endif /* INT8_H */