PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | SplitPoint |
struct | FindSplitData |
Macros | |
#define | LEAF_SPLIT_DISTANCE 0.050 |
#define | INTERNAL_SPLIT_DISTANCE 0.075 |
Enumerations | |
enum | FindSplitStrat { SPLIT_DEFAULT , SPLIT_MANY_DUPLICATES , SPLIT_SINGLE_VALUE } |
#define INTERNAL_SPLIT_DISTANCE 0.075 |
Definition at line 850 of file nbtsplitloc.c.
#define LEAF_SPLIT_DISTANCE 0.050 |
Definition at line 849 of file nbtsplitloc.c.
enum FindSplitStrat |
Enumerator | |
---|---|
SPLIT_DEFAULT | |
SPLIT_MANY_DUPLICATES | |
SPLIT_SINGLE_VALUE |
Definition at line 20 of file nbtsplitloc.c.
|
static |
Definition at line 749 of file nbtsplitloc.c.
References FirstOffsetNumber, ItemPointerGetBlockNumber(), and ItemPointerGetOffsetNumber().
Referenced by _bt_afternewitemoff().
|
static |
Definition at line 630 of file nbtsplitloc.c.
References _bt_adjacenthtid(), _bt_keep_natts_fast(), Assert, BTreeTupleIsPosting(), IndexRelationGetNumberOfKeyAttributes, MAXALIGN, OffsetNumberPrev, P_FIRSTKEY, PageGetItem(), PageGetItemId(), and IndexTupleData::t_tid.
Referenced by _bt_findsplitloc().
|
static |
Definition at line 788 of file nbtsplitloc.c.
References _bt_split_penalty(), final, i, Min, and SPLIT_MANY_DUPLICATES.
Referenced by _bt_findsplitloc().
|
static |
Definition at line 876 of file nbtsplitloc.c.
References i, INTERNAL_SPLIT_DISTANCE, LEAF_SPLIT_DISTANCE, SplitPoint::leftfree, and SplitPoint::rightfree.
Referenced by _bt_findsplitloc().
|
static |
Definition at line 566 of file nbtsplitloc.c.
References _bt_splitcmp(), SplitPoint::curdelta, i, if(), SplitPoint::leftfree, qsort, and SplitPoint::rightfree.
Referenced by _bt_findsplitloc().
OffsetNumber _bt_findsplitloc | ( | Relation | rel, |
Page | origpage, | ||
OffsetNumber | newitemoff, | ||
Size | newitemsz, | ||
IndexTuple | newitem, | ||
bool * | newitemonleft | ||
) |
Definition at line 129 of file nbtsplitloc.c.
References _bt_afternewitemoff(), _bt_bestsplitloc(), _bt_defaultinterval(), _bt_deltasortsplits(), _bt_recsplitloc(), _bt_strategy(), Assert, BTGetFillFactor, BTPageGetOpaque, BTREE_NONLEAF_FILLFACTOR, BTREE_SINGLEVAL_FILLFACTOR, BTreeTupleIsPosting(), elog, ERROR, SplitPoint::firstrightoff, i, IndexRelationGetNumberOfKeyAttributes, ItemIdGetLength, MAXALIGN, SplitPoint::newitemonleft, OffsetNumberNext, P_FIRSTDATAKEY, P_HIKEY, P_ISLEAF, P_RIGHTMOST, PageGetExactFreeSpace(), PageGetItemId(), PageGetMaxOffsetNumber(), PageGetPageSize(), palloc(), pfree(), RelationGetRelationName, SizeOfPageHeaderData, SPLIT_DEFAULT, SPLIT_MANY_DUPLICATES, and SPLIT_SINGLE_VALUE.
Referenced by _bt_split().
|
static |
Definition at line 1052 of file nbtsplitloc.c.
References Assert, SplitPoint::firstrightoff, i, Min, and SplitPoint::newitemonleft.
Referenced by _bt_strategy().
|
static |
Definition at line 449 of file nbtsplitloc.c.
References Assert, BTreeTupleGetPostingOffset(), BTreeTupleIsPosting(), IndexTupleSize, MAXALIGN, Min, PageGetItem(), and PageGetItemId().
Referenced by _bt_findsplitloc().
|
inlinestatic |
Definition at line 1175 of file nbtsplitloc.c.
References SplitPoint::firstrightoff, SplitPoint::newitemonleft, PageGetItem(), and PageGetItemId().
Referenced by _bt_split_penalty(), and _bt_strategy().
|
inlinestatic |
Definition at line 1159 of file nbtsplitloc.c.
References SplitPoint::firstrightoff, SplitPoint::newitemonleft, OffsetNumberPrev, PageGetItem(), and PageGetItemId().
Referenced by _bt_split_penalty(), and _bt_strategy().
|
inlinestatic |
Definition at line 1131 of file nbtsplitloc.c.
References _bt_keep_natts_fast(), _bt_split_firstright(), _bt_split_lastleft(), SplitPoint::firstrightoff, ItemIdGetLength, MAXALIGN, SplitPoint::newitemonleft, and PageGetItemId().
Referenced by _bt_bestsplitloc().
|
static |
Definition at line 594 of file nbtsplitloc.c.
References SplitPoint::curdelta, and pg_cmp_s16().
Referenced by _bt_deltasortsplits().
|
static |
Definition at line 934 of file nbtsplitloc.c.
References _bt_interval_edges(), _bt_keep_natts_fast(), _bt_split_firstright(), _bt_split_lastleft(), IndexRelationGetNumberOfKeyAttributes, P_HIKEY, PageGetItem(), PageGetItemId(), SPLIT_DEFAULT, SPLIT_MANY_DUPLICATES, and SPLIT_SINGLE_VALUE.
Referenced by _bt_findsplitloc().