MobilityDB  1.0
Data Structures | Macros | Typedefs | Functions
tpoint_analyze.h File Reference

Functions for gathering statistics from temporal point columns. More...

#include <postgres.h>
#include <fmgr.h>
#include <catalog/pg_type.h>
#include <commands/vacuum.h>
#include <liblwgeom.h>
Include dependency graph for tpoint_analyze.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ND_BOX_T
 N-dimensional box type for calculations, to avoid doing explicit axis conversions from GBOX in all calculations at every step. More...
 
struct  ND_IBOX_T
 N-dimensional box index type. More...
 
struct  ND_STATS_T
 N-dimensional statistics structure. More...
 

Macros

#define ND_DIMS   4
 The maximum number of dimensions our code can handle. More...
 

Typedefs

typedef struct ND_BOX_T ND_BOX
 N-dimensional box type for calculations, to avoid doing explicit axis conversions from GBOX in all calculations at every step. More...
 
typedef struct ND_IBOX_T ND_IBOX
 N-dimensional box index type. More...
 
typedef struct ND_STATS_T ND_STATS
 N-dimensional statistics structure. More...
 

Functions

int nd_box_init (ND_BOX *a)
 Zero out an ND_BOX. More...
 
int nd_box_init_bounds (ND_BOX *a)
 Prepare an ND_BOX for bounds calculation: set the maxes to the smallest thing possible and the mins to the largest. More...
 
int nd_box_merge (const ND_BOX *source, ND_BOX *target)
 Expand the bounds of target to include source. More...
 
void nd_box_from_gbox (const GBOX *gbox, ND_BOX *nd_box)
 Set the values of an ND_BOX from a GBOX. More...
 
int nd_increment (ND_IBOX *ibox, int ndims, int *counter)
 Given an n-d index array (counter), and a domain to increment it in (ibox) increment it by one, unless it's already at the max of the domain, in which case return false. More...
 
int nd_box_overlap (const ND_STATS *nd_stats, const ND_BOX *nd_box, ND_IBOX *nd_ibox)
 What stats cells overlap with this ND_BOX? Put the lowest cell addresses in ND_IBOX->min and the highest in ND_IBOX->max. More...
 
int nd_box_intersects (const ND_BOX *a, const ND_BOX *b, int ndims)
 Returns true if ND_BOX a overlaps b, false otherwise. More...
 
double nd_box_ratio_overlaps (const ND_BOX *b1, const ND_BOX *b2, int ndims)
 Returns the proportion of b2 that is covered by b1. More...
 
void gserialized_compute_stats (VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc, int sample_rows, double total_rows, int mode)
 The gserialized_analyze_nd sets this function as a callback on the stats object when called by the ANALYZE command. More...
 
Datum tpoint_analyze (PG_FUNCTION_ARGS)
 Compute the statistics for temporal point columns. More...
 

Detailed Description

Functions for gathering statistics from temporal point columns.