40 #include <catalog/pg_type.h> 57 Datum (*func)(Datum, ...);
67 Datum *, TimestampTz *);
68 bool (*tpfunc)(
const TInstant *,
const TInstant *, bool,
const TInstant *,
69 const TInstant *, bool, Datum *,
bool invert
True if the arguments of the function must be inverted.
Definition: lifting.h:64
Structure to represent the common structure of temporal values of any temporal subtype.
Definition: temporal.h:241
TSequenceSet * tfunc_tsequenceset(const TSequenceSet *ts, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value.
Definition: lifting.c:245
TInstant * sync_tfunc_tinstant_tinstant(const TInstant *inst1, const TInstant *inst2, LiftedFunctionInfo *lfinfo)
Synchronizes the temporal values and applies to them the function.
Definition: lifting.c:681
#define MAX_PARAMS
Structure to represent the information about lifted functions.
Definition: lifting.h:53
TInstant * tfunc_tinstant_base(const TInstant *inst, Datum value, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value and the base value.
Definition: lifting.c:324
Temporal * tfunc_tsequence_base(const TSequence *seq, Datum value, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value and the base value.
Definition: lifting.c:584
TInstant * tfunc_tinstant(const TInstant *inst, LiftedFunctionInfo *lfinfo)
Applies the function with the optional arguments to the temporal value.
Definition: lifting.c:191
Temporal * sync_tfunc_temporal_temporal(const Temporal *temp1, const Temporal *temp2, LiftedFunctionInfo *lfinfo)
Synchronizes the temporal values and applies to them the function (dispatch function) ...
Definition: lifting.c:1536
Basic functions for temporal types of any subtype.
bool reslinear
True if the result has linear interpolation.
Definition: lifting.h:63
bool discont
True if the function has instantaneous discontinuities.
Definition: lifting.h:65
TInstantSet * tfunc_tinstantset(const TInstantSet *ti, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value.
Definition: lifting.c:206
TInstantSet * sync_tfunc_tinstantset_tinstantset(const TInstantSet *ti1, const TInstantSet *ti2, LiftedFunctionInfo *lfinfo)
Synchronizes the temporal values and applies to them the function with the optional argument...
Definition: lifting.c:830
TInstantSet * tfunc_tinstantset_base(const TInstantSet *ti, Datum value, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value and the base value.
Definition: lifting.c:342
Structure to represent temporal values of sequence set subtype.
Definition: temporal.h:293
Structure to represent temporal values of instant set subtype.
Definition: temporal.h:266
TSequence * tfunc_tsequence(const TSequence *seq, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value.
Definition: lifting.c:224
Oid restypid
Base type of the result of the function.
Definition: lifting.h:62
Temporal * tfunc_temporal(const Temporal *temp, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value (dispatch function)
Definition: lifting.c:263
int numparam
Number of parameters of the function.
Definition: lifting.h:58
Temporal * tfunc_temporal_base(const Temporal *temp, Datum value, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value and the base value (dispatch function) ...
Definition: lifting.c:650
Structure to represent temporal values of sequence subtype.
Definition: temporal.h:279
bool argoids
True if the lifted function requires the Oid of the arguments.
Definition: lifting.h:60
TSequenceSet * tfunc_tsequenceset_base(const TSequenceSet *ts, Datum value, LiftedFunctionInfo *lfinfo)
Applies the function to the temporal value and the base value.
Definition: lifting.c:618
Structure to represent temporal values of instant subtype.
Definition: temporal.h:253