![]() |
MobilityDB 1.3
|
Functions for selectivity estimation of operators on spatiotemporal values. More...
#include "pg_geo/tspatial_selfuncs.h"
#include <math.h>
#include <postgres.h>
#include <utils/lsyscache.h>
#include <utils/syscache.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/meos_catalog.h"
#include "pg_geo/tspatial_analyze.h"
Functions | |
float8 | geo_joinsel (const ND_STATS *s1, const ND_STATS *s2) |
Given two statistics histograms, what is the selectivity of a join driven by the && operator? More... | |
Selectivity | geo_sel (VariableStatData *vardata, const STBox *box, meosOper oper) |
Return an estimate of the selectivity of a spatiotemporal search box by looking at data in the ND_STATS structure. More... | |
static bool | nd_box_above (const ND_BOX *a, const ND_BOX *b) |
Return true if a is strictly above b, false otherwise. More... | |
static bool | nd_box_back (const ND_BOX *a, const ND_BOX *b) |
Return true if a strictly at the back of b, false otherwise. More... | |
static bool | nd_box_below (const ND_BOX *a, const ND_BOX *b) |
Return true if a is strictly below of b, false otherwise. More... | |
static int | nd_box_contains (const ND_BOX *a, const ND_BOX *b, int ndims) |
Return true if a contains b, false otherwise. More... | |
static void | nd_box_from_stbox (const STBox *box, ND_BOX *nd_box) |
Initialize the ND_BOX in the last argument with a spatiotemporal box. More... | |
static bool | nd_box_front (const ND_BOX *a, const ND_BOX *b) |
Return true if a is strictly in front of b, false otherwise. More... | |
static bool | nd_box_left (const ND_BOX *a, const ND_BOX *b) |
Return true if a is strictly to the left of b, false otherwise. More... | |
static bool | nd_box_overabove (const ND_BOX *a, const ND_BOX *b) |
Return true if a does not extend below b, false otherwise. More... | |
static bool | nd_box_overback (const ND_BOX *a, const ND_BOX *b) |
Return true if a does not extend to the front of b, false otherwise. More... | |
static bool | nd_box_overbelow (const ND_BOX *a, const ND_BOX *b) |
Return true if a does not extend above of b, false otherwise. More... | |
static bool | nd_box_overfront (const ND_BOX *a, const ND_BOX *b) |
Return true if a does not extend to the back of b, false otherwise. More... | |
static bool | nd_box_overleft (const ND_BOX *a, const ND_BOX *b) |
Return true if a does not extend to right of b, false otherwise. More... | |
static bool | nd_box_overright (const ND_BOX *a, const ND_BOX *b) |
Return true if a does not extend to left of b, false otherwise. More... | |
static double | nd_box_ratio_above (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is above b1. More... | |
static double | nd_box_ratio_back (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is at the back of b1. More... | |
static double | nd_box_ratio_below (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is below b1. More... | |
static double | nd_box_ratio_front (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is in front of b1. More... | |
static double | nd_box_ratio_left (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is to the left of b1. More... | |
static double | nd_box_ratio_overabove (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is overabove of b1. More... | |
static double | nd_box_ratio_overback (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is overback of b1. More... | |
static double | nd_box_ratio_overbelow (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is overbelow of b1. More... | |
static double | nd_box_ratio_overfront (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is overfront of b1. More... | |
static double | nd_box_ratio_overleft (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is overleft of b1. More... | |
static double | nd_box_ratio_overright (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is overright of b1. More... | |
static double | nd_box_ratio_position (const ND_BOX *b1, const ND_BOX *b2, meosOper oper) |
Dispatch function for the position operators. More... | |
static double | nd_box_ratio_right (const ND_BOX *b1, const ND_BOX *b2) |
Return the proportion of b2 that is to the right of b1. More... | |
static bool | nd_box_right (const ND_BOX *a, const ND_BOX *b) |
Return true if a is strictly to the right of b, false otherwise. More... | |
ND_STATS * | pg_get_nd_stats (const Oid tableid, AttrNumber att_num, int mode, bool only_parent) |
Pull the stats object from the PgSQL system catalogs. More... | |
ND_STATS * | pg_nd_stats_from_tuple (HeapTuple stats_tuple, int mode) |
Get the statistics from a tuple. More... | |
Functions for selectivity estimation of operators on spatiotemporal values.