MobilityDB 1.1
Functions
tpoint_selfuncs.c File Reference
#include "pg_point/tpoint_selfuncs.h"
#include <assert.h>
#include <float.h>
#include <math.h>
#include <parser/parsetree.h>
#include <utils/syscache.h>
#include <meos.h>
#include <meos_internal.h>
#include "general/meos_catalog.h"
#include "pg_general/span_selfuncs.h"
#include "pg_general/temporal_selfuncs.h"
#include "pg_point/tpoint_analyze.h"
Include dependency graph for tpoint_selfuncs.c:

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...
 
float8 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 of b, false otherwise. More...
 
static bool nd_box_back (const ND_BOX *a, const ND_BOX *b)
 Return true if a strictly 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)
 Functions for selectivity estimation of operators on temporal points. More...
 
static void nd_box_from_stbox (const STBox *box, ND_BOX *nd_box)
 Set the values of an ND_BOX from an STBox. More...
 
static bool nd_box_front (const ND_BOX *a, const ND_BOX *b)
 Return true if a is strictly 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 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 of 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 of b1. More...
 
static double nd_box_ratio_back (const ND_BOX *b1, const ND_BOX *b2)
 Return the proportion of b2 that is 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 of b1. More...
 
static double nd_box_ratio_front (const ND_BOX *b1, const ND_BOX *b2)
 Return the proportion of b2 that is 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 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 right of b1. More...
 
static bool nd_box_right (const ND_BOX *a, const ND_BOX *b)
 Return true if a is strictly right of b, false otherwise. More...
 
ND_STATSpg_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_STATSpg_nd_stats_from_tuple (HeapTuple stats_tuple, int mode)
 Get the statistics from the tuple. More...