MobilityDB 1.1
Functions
lifting.c File Reference
#include "general/lifting.h"
#include <assert.h>
#include <postgres.h>
#include <utils/timestamp.h>
#include <meos.h>
#include <meos_internal.h>
#include "general/temporaltypes.h"
#include "general/type_util.h"
Include dependency graph for lifting.c:

Functions

static int efunc_tcontseq_tcontseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function (dispatch function) More...
 
static int efunc_tcontseq_tcontseq_discont (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo, Span *inter)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tcontseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tcontseq_tinstant (const TSequence *seq, const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tdiscseq_tcontseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tdiscseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tdiscseq_tinstant (const TSequence *is, const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tdiscseq_tsequenceset (const TSequence *is, const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
int efunc_temporal_temporal (const Temporal *temp1, const Temporal *temp2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tinstant_tcontseq (const TInstant *inst, const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tinstant_tdiscseq (const TInstant *inst, const TSequence *is, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tinstant_tinstant (const TInstant *inst1, const TInstant *inst2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tinstant_tsequenceset (const TInstant *inst, const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tsequence_tsequenceset (const TSequence *seq, const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tsequenceset_tcontseq (const TSequenceSet *ss, const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int efunc_tsequenceset_tdiscseq (const TSequenceSet *ss, const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tsequenceset_tinstant (const TSequenceSet *ss, const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static int efunc_tsequenceset_tsequenceset (const TSequenceSet *ss1, const TSequenceSet *ss2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static void lfinfo_invert (LiftedFunctionInfo *lfinfo)
 Invert the arguments of the lfinfo struct. More...
 
static Datum tfunc_base (Datum value, LiftedFunctionInfo *lfinfo)
 Generic functions for lifting functions and operators on temporal types. More...
 
static Datum tfunc_base_base (Datum value1, Datum value2, LiftedFunctionInfo *lfinfo)
 
static Temporaltfunc_tcontseq_tcontseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static int tfunc_tcontseq_tcontseq_dispatch (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo, TSequence **result)
 Synchronizes the temporal values and apply to them the function. More...
 
static int tfunc_tcontseq_tcontseq_multi (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo, Span *inter, bool discont, TSequence **result)
 Synchronizes the temporal values and apply to them the function. More...
 
static int tfunc_tcontseq_tcontseq_single (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo, Span *inter, TSequence **result)
 Synchronizes the temporal values and apply to them the function. More...
 
static TSequencetfunc_tcontseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static TInstanttfunc_tcontseq_tinstant (const TSequence *seq, const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static Temporaltfunc_tcontseq_tsequenceset (const TSequence *seq, const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static TSequencetfunc_tdiscseq_tcontseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
TSequencetfunc_tdiscseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with with optional argument. More...
 
static TInstanttfunc_tdiscseq_tinstant (const TSequence *is, const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static TSequencetfunc_tdiscseq_tsequenceset (const TSequence *is, const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
Temporaltfunc_temporal (const Temporal *temp, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value (dispatch function) More...
 
Temporaltfunc_temporal_base (const Temporal *temp, Datum value, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value and the base value (dispatch function) More...
 
Temporaltfunc_temporal_temporal (const Temporal *temp1, const Temporal *temp2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
TInstanttfunc_tinstant (const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Apply the function with the optional arguments to the temporal value. More...
 
TInstanttfunc_tinstant_base (const TInstant *inst, Datum value, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value and the base value. More...
 
static TInstanttfunc_tinstant_tcontseq (const TInstant *inst, const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static TInstanttfunc_tinstant_tdiscseq (const TInstant *inst, const TSequence *is, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
TInstanttfunc_tinstant_tinstant (const TInstant *inst1, const TInstant *inst2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static TInstanttfunc_tinstant_tsequenceset (const TInstant *inst, const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
Temporaltfunc_tlinearseq_base (const TSequence *seq, Datum value, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value and the base value. More...
 
static int tfunc_tlinearseq_base_discont (const TSequence *seq, Datum value, LiftedFunctionInfo *lfinfo, TSequence **result)
 Apply the function to the temporal value and the base value when the function has instantaneuous discontinuties. More...
 
static int tfunc_tlinearseq_base_turnpt (const TSequence *seq, Datum value, LiftedFunctionInfo *lfinfo, TSequence **result)
 Apply the function to the temporal value and the base value when turning points should be added. More...
 
TSequencetfunc_tsequence (const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value. More...
 
TSequencetfunc_tsequence_base (const TSequence *seq, Datum value, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value and the base value. More...
 
TSequenceSettfunc_tsequenceset (const TSequenceSet *ss, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value. More...
 
TSequenceSettfunc_tsequenceset_base (const TSequenceSet *ss, Datum value, LiftedFunctionInfo *lfinfo)
 Apply the function to the temporal value and the base value. More...
 
static Temporaltfunc_tsequenceset_tcontseq (const TSequenceSet *ss, const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...
 
static TSequencetfunc_tsequenceset_tdiscseq (const TSequenceSet *ss, const TSequence *seq, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static TInstanttfunc_tsequenceset_tinstant (const TSequenceSet *ss, const TInstant *inst, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function with the optional argument. More...
 
static TSequenceSettfunc_tsequenceset_tsequenceset (const TSequenceSet *ss1, const TSequenceSet *ss2, LiftedFunctionInfo *lfinfo)
 Synchronize the temporal values and apply to them the function. More...