Code

RRTimeslice: Added rrtimeslice_cmp().
[postrr.git] / src / postrr.h.in
index 95582db6eaf3a7d22f2f311f0fb2fb0cef1cf0d6..d9df4af255258897d55faecec38ffd68e73ae6eb 100644 (file)
@@ -78,30 +78,59 @@ rrtimeslice_typmodout(PG_FUNCTION_ARGS);
 /* casts */
 Datum
 rrtimeslice_to_rrtimeslice(PG_FUNCTION_ARGS);
+Datum
+rrtimeslice_to_timestamptz(PG_FUNCTION_ARGS);
 
 /* comparison operators */
 Datum
-rrtimeslice_eq(PG_FUNCTION_ARGS);
+rrtimeslice_cmp(PG_FUNCTION_ARGS);
+
+/* sequence comparison operators */
 Datum
-rrtimeslice_ne(PG_FUNCTION_ARGS);
+rrtimeslice_seq_eq(PG_FUNCTION_ARGS);
 Datum
-rrtimeslice_lt(PG_FUNCTION_ARGS);
+rrtimeslice_seq_ne(PG_FUNCTION_ARGS);
 Datum
-rrtimeslice_le(PG_FUNCTION_ARGS);
+rrtimeslice_seq_lt(PG_FUNCTION_ARGS);
 Datum
-rrtimeslice_gt(PG_FUNCTION_ARGS);
+rrtimeslice_seq_le(PG_FUNCTION_ARGS);
 Datum
-rrtimeslice_ge(PG_FUNCTION_ARGS);
+rrtimeslice_seq_gt(PG_FUNCTION_ARGS);
 Datum
-rrtimeslice_cmp(PG_FUNCTION_ARGS);
+rrtimeslice_seq_ge(PG_FUNCTION_ARGS);
+Datum
+rrtimeslice_seq_cmp(PG_FUNCTION_ARGS);
+Datum
+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);
+
 /*
  * CData data type
  */
@@ -128,6 +157,14 @@ cdata_typmodout(PG_FUNCTION_ARGS);
 /* casts */
 Datum
 cdata_to_cdata(PG_FUNCTION_ARGS);
+Datum
+int32_to_cdata(PG_FUNCTION_ARGS);
+Datum
+cdata_to_float8(PG_FUNCTION_ARGS);
+
+/* aux. functions */
+Datum
+cdata_update(PG_FUNCTION_ARGS);
 
 #endif /* ! POSTRR_H */