Code

RRTimeslice: Added cast from timestamptz to rrtimeslice.
[postrr.git] / src / postrr.h.in
index c309ef04ebb68146194c1d59f83a2b5961b6494f..bf93551c87af699e6ae00cee35e1168de8709aaf 100644 (file)
@@ -79,10 +79,16 @@ rrtimeslice_typmodout(PG_FUNCTION_ARGS);
 Datum
 rrtimeslice_to_rrtimeslice(PG_FUNCTION_ARGS);
 Datum
-rrtimeslice_to_timestamp(PG_FUNCTION_ARGS);
+timestamptz_to_rrtimeslice(PG_FUNCTION_ARGS);
+Datum
+rrtimeslice_to_timestamptz(PG_FUNCTION_ARGS);
 
 /* comparison operators */
 Datum
+rrtimeslice_cmp(PG_FUNCTION_ARGS);
+
+/* sequence comparison operators */
+Datum
 rrtimeslice_seq_eq(PG_FUNCTION_ARGS);
 Datum
 rrtimeslice_seq_ne(PG_FUNCTION_ARGS);
@@ -103,6 +109,27 @@ rrtimeslice_seq_hash(PG_FUNCTION_ARGS);
  * internal (not fmgr-callable) functions
  */
 
+/*
+ * compare two RRTimeslices
+ *
+ * returns:
+ *  - -2 if ts1 < ts2 (sequence numbers don't match)
+ *  - -1 if ts1 < ts2 (sequence numbers match)
+ *  -  0 if ts1 = ts2
+ *  -  1 if ts1 > ts2 (sequence numbers match)
+ *  -  2 if ts1 > ts2 (sequence numbers don't match)
+ */
+int
+rrtimeslice_cmp_internal(rrtimeslice_t *ts1, rrtimeslice_t *ts2);
+
+/*
+ * compare sequence numbers of two RRTimeslices
+ *
+ * returns:
+ *  - -1 if ts1 < ts2
+ *  -  0 if ts1 = ts2
+ *  -  1 if ts1 > ts2
+ */
 int
 rrtimeslice_seq_cmp_internal(rrtimeslice_t *ts1, rrtimeslice_t *ts2);
 
@@ -134,6 +161,8 @@ Datum
 cdata_to_cdata(PG_FUNCTION_ARGS);
 Datum
 int32_to_cdata(PG_FUNCTION_ARGS);
+Datum
+cdata_to_float8(PG_FUNCTION_ARGS);
 
 /* aux. functions */
 Datum