PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | SortSupportData |
Typedefs | |
typedef struct SortSupportData * | SortSupport |
typedef struct SortSupportData | SortSupportData |
Functions | |
static int | ApplySortComparator (Datum datum1, bool isNull1, Datum datum2, bool isNull2, SortSupport ssup) |
static int | ApplyUnsignedSortComparator (Datum datum1, bool isNull1, Datum datum2, bool isNull2, SortSupport ssup) |
static int | ApplyInt32SortComparator (Datum datum1, bool isNull1, Datum datum2, bool isNull2, SortSupport ssup) |
static int | ApplySortAbbrevFullComparator (Datum datum1, bool isNull1, Datum datum2, bool isNull2, SortSupport ssup) |
int | ssup_datum_unsigned_cmp (Datum x, Datum y, SortSupport ssup) |
int | ssup_datum_int32_cmp (Datum x, Datum y, SortSupport ssup) |
void | PrepareSortSupportComparisonShim (Oid cmpFunc, SortSupport ssup) |
void | PrepareSortSupportFromOrderingOp (Oid orderingOp, SortSupport ssup) |
void | PrepareSortSupportFromIndexRel (Relation indexRel, int16 strategy, SortSupport ssup) |
void | PrepareSortSupportFromGistIndexRel (Relation indexRel, SortSupport ssup) |
typedef struct SortSupportData* SortSupport |
Definition at line 58 of file sortsupport.h.
typedef struct SortSupportData SortSupportData |
|
inlinestatic |
Definition at line 302 of file sortsupport.h.
References compare(), DatumGetInt32(), INVERT_COMPARE_RESULT, SortSupportData::ssup_nulls_first, and SortSupportData::ssup_reverse.
Referenced by qsort_tuple_int32_compare().
|
inlinestatic |
Definition at line 341 of file sortsupport.h.
References SortSupportData::abbrev_full_comparator, compare(), INVERT_COMPARE_RESULT, SortSupportData::ssup_nulls_first, and SortSupportData::ssup_reverse.
Referenced by comparetup_cluster_tiebreak(), comparetup_datum_tiebreak(), comparetup_heap_tiebreak(), and comparetup_index_btree_tiebreak().
|
inlinestatic |
Definition at line 200 of file sortsupport.h.
References SortSupportData::comparator, compare(), INVERT_COMPARE_RESULT, SortSupportData::ssup_nulls_first, and SortSupportData::ssup_reverse.
Referenced by _bt_load(), compare_datums_simple(), compare_scalars(), comparetup_cluster(), comparetup_cluster_tiebreak(), comparetup_datum(), comparetup_heap(), comparetup_heap_tiebreak(), comparetup_index_btree(), comparetup_index_btree_tiebreak(), heap_compare_slots(), MJCompare(), multi_sort_compare(), multi_sort_compare_dim(), multi_sort_compare_dims(), and sort_item_compare().
|
inlinestatic |
Definition at line 233 of file sortsupport.h.
References compare(), INVERT_COMPARE_RESULT, SortSupportData::ssup_nulls_first, and SortSupportData::ssup_reverse.
Referenced by qsort_tuple_unsigned_compare().
void PrepareSortSupportComparisonShim | ( | Oid | cmpFunc, |
SortSupport | ssup | ||
) |
Definition at line 68 of file sortsupport.c.
References FunctionCallInfoBaseData::args, SortSupportData::comparator, comparison_shim(), SortShimExtra::fcinfo, SortShimExtra::flinfo, fmgr_info_cxt(), InitFunctionCallInfoData, NullableDatum::isnull, MemoryContextAlloc(), SizeForSortShimExtra, SortSupportData::ssup_collation, SortSupportData::ssup_cxt, and SortSupportData::ssup_extra.
Referenced by FinishSortSupportFunction(), and MJExamineQuals().
void PrepareSortSupportFromGistIndexRel | ( | Relation | indexRel, |
SortSupport | ssup | ||
) |
Definition at line 188 of file sortsupport.c.
References Assert, SortSupportData::comparator, elog, ERROR, get_opfamily_proc(), GIST_SORTSUPPORT_PROC, OidFunctionCall1, OidIsValid, PointerGetDatum(), RelationData::rd_opcintype, RelationData::rd_opfamily, RelationData::rd_rel, SortSupportData::ssup_attno, and SortSupportData::ssup_reverse.
Referenced by tuplesort_begin_index_gist().
void PrepareSortSupportFromIndexRel | ( | Relation | indexRel, |
int16 | strategy, | ||
SortSupport | ssup | ||
) |
Definition at line 161 of file sortsupport.c.
References Assert, BTGreaterStrategyNumber, BTLessStrategyNumber, SortSupportData::comparator, elog, ERROR, FinishSortSupportFunction(), RelationData::rd_opcintype, RelationData::rd_opfamily, RelationData::rd_rel, SortSupportData::ssup_attno, and SortSupportData::ssup_reverse.
Referenced by _bt_load(), tuplesort_begin_cluster(), and tuplesort_begin_index_btree().
void PrepareSortSupportFromOrderingOp | ( | Oid | orderingOp, |
SortSupport | ssup | ||
) |
Definition at line 134 of file sortsupport.c.
References Assert, BTGreaterStrategyNumber, SortSupportData::comparator, elog, ERROR, FinishSortSupportFunction(), get_ordering_op_properties(), and SortSupportData::ssup_reverse.
Referenced by compute_scalar_stats(), ExecInitGatherMerge(), ExecInitIndexScan(), ExecInitMergeAppend(), multi_sort_add_dimension(), statext_mcv_serialize(), tuplesort_begin_datum(), and tuplesort_begin_heap().
int ssup_datum_int32_cmp | ( | Datum | x, |
Datum | y, | ||
SortSupport | ssup | ||
) |
Definition at line 3166 of file tuplesort.c.
References DatumGetInt32(), x, and y.
Referenced by btint4sortsupport(), date_sortsupport(), and tuplesort_sort_memtuples().
int ssup_datum_unsigned_cmp | ( | Datum | x, |
Datum | y, | ||
SortSupport | ssup | ||
) |
Definition at line 3139 of file tuplesort.c.
Referenced by gist_point_sortsupport(), macaddr_sortsupport(), network_sortsupport(), tuplesort_sort_memtuples(), uuid_sortsupport(), and varstr_sortsupport().