summaryrefslogtreecommitdiff
path: root/contrib/btree_gist/btree_ts.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/btree_gist/btree_ts.c')
-rw-r--r--contrib/btree_gist/btree_ts.c40
1 files changed, 17 insertions, 23 deletions
diff --git a/contrib/btree_gist/btree_ts.c b/contrib/btree_gist/btree_ts.c
index eb899c4d213..b7bbae2f4d6 100644
--- a/contrib/btree_gist/btree_ts.c
+++ b/contrib/btree_gist/btree_ts.c
@@ -10,6 +10,7 @@
#include "utils/fmgrprotos.h"
#include "utils/timestamp.h"
#include "utils/float.h"
+#include "utils/rel.h"
#include "utils/sortsupport.h"
typedef struct
@@ -33,13 +34,6 @@ PG_FUNCTION_INFO_V1(gbt_ts_same);
PG_FUNCTION_INFO_V1(gbt_ts_sortsupport);
-#ifdef USE_FLOAT8_BYVAL
-#define TimestampGetDatumFast(X) TimestampGetDatum(X)
-#else
-#define TimestampGetDatumFast(X) PointerGetDatum(&(X))
-#endif
-
-
/* define for comparison */
static bool
@@ -49,8 +43,8 @@ gbt_tsgt(const void *a, const void *b, FmgrInfo *flinfo)
const Timestamp *bb = (const Timestamp *) b;
return DatumGetBool(DirectFunctionCall2(timestamp_gt,
- TimestampGetDatumFast(*aa),
- TimestampGetDatumFast(*bb)));
+ TimestampGetDatum(*aa),
+ TimestampGetDatum(*bb)));
}
static bool
@@ -60,8 +54,8 @@ gbt_tsge(const void *a, const void *b, FmgrInfo *flinfo)
const Timestamp *bb = (const Timestamp *) b;
return DatumGetBool(DirectFunctionCall2(timestamp_ge,
- TimestampGetDatumFast(*aa),
- TimestampGetDatumFast(*bb)));
+ TimestampGetDatum(*aa),
+ TimestampGetDatum(*bb)));
}
static bool
@@ -71,8 +65,8 @@ gbt_tseq(const void *a, const void *b, FmgrInfo *flinfo)
const Timestamp *bb = (const Timestamp *) b;
return DatumGetBool(DirectFunctionCall2(timestamp_eq,
- TimestampGetDatumFast(*aa),
- TimestampGetDatumFast(*bb)));
+ TimestampGetDatum(*aa),
+ TimestampGetDatum(*bb)));
}
static bool
@@ -82,8 +76,8 @@ gbt_tsle(const void *a, const void *b, FmgrInfo *flinfo)
const Timestamp *bb = (const Timestamp *) b;
return DatumGetBool(DirectFunctionCall2(timestamp_le,
- TimestampGetDatumFast(*aa),
- TimestampGetDatumFast(*bb)));
+ TimestampGetDatum(*aa),
+ TimestampGetDatum(*bb)));
}
static bool
@@ -93,8 +87,8 @@ gbt_tslt(const void *a, const void *b, FmgrInfo *flinfo)
const Timestamp *bb = (const Timestamp *) b;
return DatumGetBool(DirectFunctionCall2(timestamp_lt,
- TimestampGetDatumFast(*aa),
- TimestampGetDatumFast(*bb)));
+ TimestampGetDatum(*aa),
+ TimestampGetDatum(*bb)));
}
static int
@@ -104,9 +98,9 @@ gbt_tskey_cmp(const void *a, const void *b, FmgrInfo *flinfo)
tsKEY *ib = (tsKEY *) (((const Nsrt *) b)->t);
int res;
- res = DatumGetInt32(DirectFunctionCall2(timestamp_cmp, TimestampGetDatumFast(ia->lower), TimestampGetDatumFast(ib->lower)));
+ res = DatumGetInt32(DirectFunctionCall2(timestamp_cmp, TimestampGetDatum(ia->lower), TimestampGetDatum(ib->lower)));
if (res == 0)
- return DatumGetInt32(DirectFunctionCall2(timestamp_cmp, TimestampGetDatumFast(ia->upper), TimestampGetDatumFast(ib->upper)));
+ return DatumGetInt32(DirectFunctionCall2(timestamp_cmp, TimestampGetDatum(ia->upper), TimestampGetDatum(ib->upper)));
return res;
}
@@ -122,8 +116,8 @@ gbt_ts_dist(const void *a, const void *b, FmgrInfo *flinfo)
return get_float8_infinity();
i = DatumGetIntervalP(DirectFunctionCall2(timestamp_mi,
- TimestampGetDatumFast(*aa),
- TimestampGetDatumFast(*bb)));
+ TimestampGetDatum(*aa),
+ TimestampGetDatum(*bb)));
return fabs(INTERVAL_TO_SEC(i));
}
@@ -404,8 +398,8 @@ gbt_ts_ssup_cmp(Datum x, Datum y, SortSupport ssup)
/* for leaf items we expect lower == upper, so only compare lower */
return DatumGetInt32(DirectFunctionCall2(timestamp_cmp,
- TimestampGetDatumFast(arg1->lower),
- TimestampGetDatumFast(arg2->lower)));
+ TimestampGetDatum(arg1->lower),
+ TimestampGetDatum(arg2->lower)));
}
Datum