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 855 of file nbtsplitloc.c.
#define LEAF_SPLIT_DISTANCE 0.050 |
Definition at line 854 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 754 of file nbtsplitloc.c.
References FirstOffsetNumber, ItemPointerGetBlockNumber(), and ItemPointerGetOffsetNumber().
Referenced by _bt_afternewitemoff().
|
static |
Definition at line 635 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 793 of file nbtsplitloc.c.
References _bt_split_penalty(), final, i, Min, and SPLIT_MANY_DUPLICATES.
Referenced by _bt_findsplitloc().
|
static |
Definition at line 881 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 1057 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 1180 of file nbtsplitloc.c.
References SplitPoint::firstrightoff, SplitPoint::newitemonleft, PageGetItem(), and PageGetItemId().
Referenced by _bt_split_penalty(), and _bt_strategy().
|
inlinestatic |
Definition at line 1164 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 1136 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.
Referenced by _bt_deltasortsplits().
|
static |
Definition at line 939 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().