PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/spgist.h"
#include "access/spgist_private.h"
#include "access/stratnum.h"
#include "catalog/pg_type.h"
#include "utils/float.h"
#include "utils/fmgroids.h"
#include "utils/fmgrprotos.h"
#include "utils/geo_decls.h"
Go to the source code of this file.
Data Structures | |
struct | Range |
struct | RangeBox |
struct | RectBox |
Definition at line 360 of file geo_spgist.c.
References higher2D(), RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 346 of file geo_spgist.c.
References lower2D(), RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
|
static |
Definition at line 252 of file geo_spgist.c.
References FPge(), FPle(), Range::high, RangeBox::left, Range::low, and RangeBox::right.
Referenced by contain4D().
Definition at line 260 of file geo_spgist.c.
References contain2D(), RangeBox::left, RectBox::range_box_x, RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 268 of file geo_spgist.c.
References FPge(), FPle(), Range::high, RangeBox::left, Range::low, and RangeBox::right.
Referenced by contained4D().
Definition at line 278 of file geo_spgist.c.
References contained2D(), RangeBox::left, RectBox::range_box_x, RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 130 of file geo_spgist.c.
References BOX::high, BOX::low, Point::x, and Point::y.
Referenced by spg_box_quad_choose(), and spg_box_quad_picksplit().
Definition at line 157 of file geo_spgist.c.
References Range::high, BOX::high, RangeBox::left, Range::low, BOX::low, palloc(), RangeBox::right, Point::x, and Point::y.
Referenced by spg_box_quad_inner_consistent().
Definition at line 302 of file geo_spgist.c.
References FPgt(), Range::high, RangeBox::left, and RangeBox::right.
|
static |
Definition at line 177 of file geo_spgist.c.
References get_float8_infinity(), Range::high, RangeBox::left, Range::low, palloc(), RectBox::range_box_x, RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
|
static |
Definition at line 508 of file geo_spgist.c.
References RTAboveStrategyNumber, RTBelowStrategyNumber, RTLeftStrategyNumber, RTOverAboveStrategyNumber, RTOverBelowStrategyNumber, RTOverLeftStrategyNumber, RTOverRightStrategyNumber, and RTRightStrategyNumber.
Referenced by spg_box_quad_get_scankey_bbox().
Definition at line 318 of file geo_spgist.c.
References RangeBox::left, lower2D(), and RectBox::range_box_x.
Referenced by spg_box_quad_inner_consistent().
Definition at line 286 of file geo_spgist.c.
References FPlt(), RangeBox::left, Range::low, and RangeBox::right.
Definition at line 205 of file geo_spgist.c.
References Range::high, RangeBox::left, Range::low, palloc(), RectBox::range_box_x, RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 367 of file geo_spgist.c.
References overHigher2D(), RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 353 of file geo_spgist.c.
References overLower2D(), RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 310 of file geo_spgist.c.
References FPge(), Range::high, RangeBox::left, Range::low, and RangeBox::right.
Referenced by overAbove4D(), and overRight4D().
Definition at line 236 of file geo_spgist.c.
References FPge(), FPle(), Range::high, RangeBox::left, Range::low, and RangeBox::right.
Referenced by overlap4D().
Definition at line 244 of file geo_spgist.c.
References RangeBox::left, overlap2D(), RectBox::range_box_x, RectBox::range_box_y, and RangeBox::right.
Referenced by spg_box_quad_inner_consistent().
Definition at line 325 of file geo_spgist.c.
References RangeBox::left, overLower2D(), and RectBox::range_box_x.
Referenced by spg_box_quad_inner_consistent().
Definition at line 294 of file geo_spgist.c.
References FPle(), Range::high, RangeBox::left, Range::low, and RangeBox::right.
Referenced by overBelow4D(), and overLeft4D().
Definition at line 339 of file geo_spgist.c.
References RangeBox::left, overHigher2D(), and RectBox::range_box_x.
Referenced by spg_box_quad_inner_consistent().
Definition at line 374 of file geo_spgist.c.
References Range::high, HYPOT, RangeBox::left, Range::low, RectBox::range_box_x, RectBox::range_box_y, RangeBox::right, Point::x, and Point::y.
Referenced by spg_box_quad_inner_consistent().
Definition at line 332 of file geo_spgist.c.
References higher2D(), RangeBox::left, and RectBox::range_box_x.
Referenced by spg_box_quad_inner_consistent().
Datum spg_bbox_quad_config | ( | PG_FUNCTION_ARGS | ) |
Definition at line 859 of file geo_spgist.c.
References spgConfigOut::canReturnData, spgConfigOut::labelType, spgConfigOut::leafType, spgConfigOut::longValuesOK, PG_GETARG_POINTER, PG_RETURN_VOID, and spgConfigOut::prefixType.
Datum spg_box_quad_choose | ( | PG_FUNCTION_ARGS | ) |
Definition at line 417 of file geo_spgist.c.
References spgChooseIn::allTheSame, BoxPGetDatum(), DatumGetBoxP(), getQuadrant(), spgChooseIn::leafDatum, spgChooseOut::matchNode, PG_GETARG_POINTER, PG_RETURN_VOID, spgChooseIn::prefixDatum, spgChooseOut::result, spgChooseOut::resultType, and spgMatchNode.
Datum spg_box_quad_config | ( | PG_FUNCTION_ARGS | ) |
Definition at line 401 of file geo_spgist.c.
References spgConfigOut::canReturnData, spgConfigOut::labelType, spgConfigOut::longValuesOK, PG_GETARG_POINTER, PG_RETURN_VOID, and spgConfigOut::prefixType.
Definition at line 531 of file geo_spgist.c.
References POLYGON::boundbox, DatumGetBoxP(), DatumGetPolygonP(), elog, ERROR, is_bounding_box_test_exact(), ScanKeyData::sk_argument, ScanKeyData::sk_strategy, and ScanKeyData::sk_subtype.
Referenced by spg_box_quad_inner_consistent(), and spg_box_quad_leaf_consistent().
Datum spg_box_quad_inner_consistent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 553 of file geo_spgist.c.
References above4D(), spgInnerConsistentIn::allTheSame, below4D(), contain4D(), contained4D(), DatumGetBoxP(), DatumGetPointP(), spgInnerConsistentOut::distances, elog, ERROR, flag(), getRangeBox(), i, if(), initRectBox(), j, left4D(), MemoryContextSwitchTo(), nextRectBox(), spgInnerConsistentIn::nkeys, spgInnerConsistentIn::nNodes, spgInnerConsistentOut::nNodes, spgInnerConsistentOut::nodeNumbers, spgInnerConsistentIn::norderbys, old_ctx, spgInnerConsistentIn::orderbys, overAbove4D(), overBelow4D(), overlap4D(), overLeft4D(), overRight4D(), palloc(), pfree(), PG_GETARG_POINTER, PG_RETURN_VOID, pointToRectBoxDistance(), spgInnerConsistentIn::prefixDatum, right4D(), RTAboveStrategyNumber, RTBelowStrategyNumber, RTContainedByStrategyNumber, RTContainsStrategyNumber, RTLeftStrategyNumber, RTOverAboveStrategyNumber, RTOverBelowStrategyNumber, RTOverlapStrategyNumber, RTOverLeftStrategyNumber, RTOverRightStrategyNumber, RTRightStrategyNumber, RTSameStrategyNumber, spgInnerConsistentIn::scankeys, ScanKeyData::sk_argument, ScanKeyData::sk_strategy, spg_box_quad_get_scankey_bbox(), spgInnerConsistentIn::traversalMemoryContext, spgInnerConsistentIn::traversalValue, and spgInnerConsistentOut::traversalValues.
Datum spg_box_quad_leaf_consistent | ( | PG_FUNCTION_ARGS | ) |
Definition at line 741 of file geo_spgist.c.
References box_above(), box_below(), box_contain(), box_contained(), box_left(), box_overabove(), box_overbelow(), box_overlap(), box_overleft(), box_overright(), box_right(), box_same(), BoxPGetDatum(), DatumGetBool(), DirectFunctionCall2, spgLeafConsistentOut::distances, elog, ERROR, flag(), FmgrInfo::fn_oid, i, spgLeafConsistentIn::leafDatum, spgLeafConsistentOut::leafValue, spgLeafConsistentIn::nkeys, spgLeafConsistentIn::norderbys, spgLeafConsistentIn::orderbys, PG_GETARG_POINTER, PG_RETURN_BOOL, spgLeafConsistentOut::recheck, spgLeafConsistentOut::recheckDistances, spgLeafConsistentIn::returnData, RTAboveStrategyNumber, RTBelowStrategyNumber, RTContainedByStrategyNumber, RTContainsStrategyNumber, RTLeftStrategyNumber, RTOverAboveStrategyNumber, RTOverBelowStrategyNumber, RTOverlapStrategyNumber, RTOverLeftStrategyNumber, RTOverRightStrategyNumber, RTRightStrategyNumber, RTSameStrategyNumber, spgLeafConsistentIn::scankeys, ScanKeyData::sk_func, ScanKeyData::sk_strategy, spg_box_quad_get_scankey_bbox(), and spg_key_orderbys_distances().
Datum spg_box_quad_picksplit | ( | PG_FUNCTION_ARGS | ) |
Definition at line 441 of file geo_spgist.c.
References BoxPGetDatum(), compareDoubles(), DatumGetBoxP(), spgPickSplitIn::datums, getQuadrant(), spgPickSplitOut::hasPrefix, BOX::high, i, spgPickSplitOut::leafTupleDatums, BOX::low, spgPickSplitOut::mapTuplesToNodes, spgPickSplitOut::nNodes, spgPickSplitOut::nodeLabels, spgPickSplitIn::nTuples, palloc(), PG_GETARG_POINTER, PG_RETURN_VOID, spgPickSplitOut::prefixDatum, qsort, Point::x, and Point::y.
Datum spg_poly_quad_compress | ( | PG_FUNCTION_ARGS | ) |
Definition at line 876 of file geo_spgist.c.
References POLYGON::boundbox, palloc(), PG_GETARG_POLYGON_P, and PG_RETURN_BOX_P.