PostgreSQL Source Code git master
|
#include "postgres.h"
#include "catalog/pg_operator.h"
#include "commands/vacuum.h"
#include "utils/float.h"
#include "utils/fmgrprotos.h"
#include "utils/lsyscache.h"
#include "utils/multirangetypes.h"
#include "utils/rangetypes.h"
#include "varatt.h"
Go to the source code of this file.
Functions | |
static int | float8_qsort_cmp (const void *a1, const void *a2, void *arg) |
static int | range_bound_qsort_cmp (const void *a1, const void *a2, void *arg) |
static void | compute_range_stats (VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc, int samplerows, double totalrows) |
Datum | range_typanalyze (PG_FUNCTION_ARGS) |
Datum | multirange_typanalyze (PG_FUNCTION_ARGS) |
|
static |
Definition at line 125 of file rangetypes_typanalyze.c.
References VacAttrStats::anl_context, Assert, VacAttrStats::attstattarget, DatumGetFloat8(), DatumGetMultirangeTypeP(), DatumGetPointer(), DatumGetRangeTypeP(), VacAttrStats::extra_data, float8_qsort_cmp(), Float8GetDatum(), FLOAT8PASSBYVAL, FmgrInfo::fn_oid, FunctionCall2Coll(), get_float8_infinity(), i, if(), InvalidOid, lower(), MemoryContextSwitchTo(), multirange_get_bounds(), MultirangeIsEmpty, VacAttrStats::numnumbers, VacAttrStats::numvalues, OidIsValid, palloc(), PointerGetDatum(), qsort_interruptible(), range(), range_bound_qsort_cmp(), range_deserialize(), range_serialize(), MultirangeType::rangeCount, TypeCacheEntry::rng_collation, TypeCacheEntry::rng_subdiff_finfo, TypeCacheEntry::rngtype, VacAttrStats::stacoll, VacAttrStats::stadistinct, VacAttrStats::stakind, VacAttrStats::stanullfrac, VacAttrStats::stanumbers, VacAttrStats::staop, VacAttrStats::stats_valid, VacAttrStats::statypalign, VacAttrStats::statypbyval, VacAttrStats::statypid, VacAttrStats::statyplen, VacAttrStats::stavalues, VacAttrStats::stawidth, TypeCacheEntry::typalign, TypeCacheEntry::typbyval, TypeCacheEntry::type_id, TypeCacheEntry::typlen, TypeCacheEntry::typtype, upper(), vacuum_delay_point(), value, and VARSIZE_ANY.
Referenced by multirange_typanalyze(), and range_typanalyze().
|
static |
Definition at line 95 of file rangetypes_typanalyze.c.
References a1, a2, f1, and f2.
Referenced by compute_range_stats().
Datum multirange_typanalyze | ( | PG_FUNCTION_ARGS | ) |
Definition at line 72 of file rangetypes_typanalyze.c.
References VacAttrStats::attrtypid, VacAttrStats::attstattarget, compute_range_stats(), VacAttrStats::compute_stats, default_statistics_target, VacAttrStats::extra_data, getBaseType(), VacAttrStats::minrows, multirange_get_typcache(), PG_GETARG_POINTER, and PG_RETURN_BOOL.
|
static |
Definition at line 112 of file rangetypes_typanalyze.c.
References a1, a2, arg, and range_cmp_bounds().
Referenced by compute_range_stats().
Datum range_typanalyze | ( | PG_FUNCTION_ARGS | ) |
Definition at line 46 of file rangetypes_typanalyze.c.
References VacAttrStats::attrtypid, VacAttrStats::attstattarget, compute_range_stats(), VacAttrStats::compute_stats, default_statistics_target, VacAttrStats::extra_data, getBaseType(), VacAttrStats::minrows, PG_GETARG_POINTER, PG_RETURN_BOOL, and range_get_typcache().