![]() |
MobilityDB 1.3
|
Functions for selectivity estimation of operators on temporal types whose bounding box is a tstzspan
, that is, tbool
and ttext
More...
#include "pg_temporal/temporal_selfuncs.h"
#include <assert.h>
#include <parser/parsetree.h>
#include <meos.h>
#include <meos_internal.h>
#include <meos_internal_geo.h>
#include "temporal/span.h"
#include "temporal/tbox.h"
#include "geo/stbox.h"
#include "pg_temporal/meos_catalog.h"
#include "pg_temporal/span_selfuncs.h"
#include "pg_geo/tspatial_selfuncs.h"
Functions | |
static bool | temporal_const_to_tstzspan (Node *other, Span *s) |
Transform the constant into a timestamptz span. More... | |
Datum | Temporal_joinsel (PG_FUNCTION_ARGS) |
Selectivity | temporal_joinsel (PlannerInfo *root, Oid operid, List *args, JoinType jointype, SpecialJoinInfo *sjinfo, TemporalFamily tempfamily) |
Return an estimate of the join selectivity for columns of temporal values. More... | |
float8 | temporal_joinsel_default (Oid operid UNUSED) |
Return a default join selectivity estimate for given operator, when we don't have statistics or cannot use them for some reason. More... | |
Selectivity | temporal_joinsel_family (FunctionCallInfo fcinfo, TemporalFamily tempfamily) |
static bool | temporal_oper_sel (meosOper oper UNUSED, meosType ltype, meosType rtype) |
Return the enum value associated to the operator. More... | |
static bool | temporal_oper_sel_family (meosOper oper UNUSED, meosType ltype, meosType rtype, TemporalFamily tempfamily) |
Get enumeration value associated to the operator according to the family. More... | |
Datum | Temporal_sel (PG_FUNCTION_ARGS) |
Estimate the selectivity value of the operators for temporal types whose bounding box is a timestamptz span, that is, tbool and ttext More... | |
Selectivity | temporal_sel (PlannerInfo *root, Oid operid, List *args, int varRelid, TemporalFamily tempfamily) |
Estimate the selectivity value of the operators for temporal types whose bounding box is a timestamptz span, that is, tbool and ttext. More... | |
static double | temporal_sel_default (meosOper oper) |
Return a default selectivity estimate for the operator when we don't have statistics or cannot use them for some reason. More... | |
Selectivity | temporal_sel_family (FunctionCallInfo fcinfo, TemporalFamily tempfamily) |
Selectivity | temporal_sel_tstzspan (VariableStatData *vardata, Span *s, meosOper oper) |
Return an estimate of the selectivity of the search period and the operator for columns of temporal values. More... | |
bool | tnumber_const_to_span_tstzspan (const Node *other, Span **s, Span **p) |
Transform the constant into a temporal box. More... | |
Datum | Tnumber_joinsel (PG_FUNCTION_ARGS) |
Estimate the join selectivity value of the operators for temporal numbers. More... | |
static bool | tnumber_joinsel_components (meosOper oper, meosType oprleft, meosType oprright, bool *value, bool *time) |
Depending on the operator and the arguments, determine wheter the value, the time, or both components are taken into account for computing the join selectivity. More... | |
float8 | tnumber_joinsel_default (meosOper oper UNUSED) |
Return a default join selectivity estimate for given operator, when we don't have statistics or cannot use them for some reason. More... | |
bool | tnumber_oper_sel (Oid operid UNUSED, meosType ltype, meosType rtype) |
Return the enum value associated to the operator. More... | |
Datum | Tnumber_sel (PG_FUNCTION_ARGS) |
Estimate the selectivity value of the operators for temporal numbers. More... | |
float8 | tnumber_sel_default (meosOper operator) |
Return a default selectivity estimate for the operator when we don't have statistics or cannot use them for some reason. More... | |
Selectivity | tnumber_sel_span_tstzspan (VariableStatData *vardata, Span *span, Span *period, meosOper oper) |
Return an estimate of the selectivity of the temporal search box and the operator for columns of temporal numbers. More... | |
static bool | tspatial_const_to_stbox (Node *other, STBox *box) |
Transform the constant into a spatiotemporal box. More... | |
Datum | Tspatial_joinsel (PG_FUNCTION_ARGS) |
Estimate the join selectivity value of the operators for temporal points. More... | |
static bool | tspatial_joinsel_components (meosOper oper, meosType oprleft, meosType oprright, bool *space, bool *time) |
Depending on the operator and the arguments, determine wheter the space, the time, or both components are taken into account for computing the join selectivity. More... | |
static float8 | tspatial_joinsel_default (meosOper oper) |
Return a default join selectivity estimate for a given operator, when we don't have statistics or cannot use them for some reason. More... | |
static bool | tspatial_oper_sel (Oid operid UNUSED, meosType ltype, meosType rtype) |
Get the enum value associated to the operator. More... | |
Datum | Tspatial_sel (PG_FUNCTION_ARGS) |
Estimate the restriction selectivity of the operators for temporal points. More... | |
static float8 | tspatial_sel_default (meosOper oper) |
Return a default restriction selectivity estimate for a given operator, when we don't have statistics or cannot use them for some reason. More... | |
Functions for selectivity estimation of operators on temporal types whose bounding box is a tstzspan
, that is, tbool
and ttext
The operators currently supported are as follows
<
, <=
, >
, >=
&&
, @>
, <@
, ~=
<<#
, &<#
, #>>
, #>>
?=
, %=
, ?<>
, %<>
, ?<,
%<`, ... These still need to be defined. TODO