|
MobilityDB 1.3
|
Functions for gathering statistics from span type columns. More...
#include "pg_temporal/span_analyze.h"#include <assert.h>#include <postgres.h>#include <fmgr.h>#include <catalog/pg_operator.h>#include <utils/typcache.h>#include <meos.h>#include <meos_internal.h>#include "temporal/set.h"#include "pg_temporal/meos_catalog.h"Functions | |
| static int | float8_qsort_cmp (const void *a1, const void *a2) |
| Comparison function for sorting float8 values, used for span lengths. More... | |
| Datum | Span_analyze (PG_FUNCTION_ARGS) |
| Compute statistics for span columns. More... | |
| static void | span_compute_stats (VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc, int samplerows, double totalrows UNUSED) |
| Compute statistics for set, span, and span set columns. More... | |
| void | span_compute_stats_generic (VacAttrStats *stats, int non_null_cnt, int *slot_idx, SpanBound *lowers, SpanBound *uppers, float8 *lengths, bool valuedim) |
| Compute statistics for span type columns and for the time dimension of temporal types whose subtype is not instant. More... | |
Functions for gathering statistics from span type columns.
These functions are based on those of the file rangetypes_typanalyze.c. For a span type column, histograms of lower and upper bounds, and the fraction of NULL spans are collected.
Both histograms have the same length, and they are combined into a single array of spans. This has the same shape as the histogram that std_typanalyze would collect, but the values are different. Each span in the array is a valid span, even though the lower and upper bounds come from different tuples. In theory, the standard scalar selectivity functions could be used with the combined histogram.