GiST secondary split

Поиск
Список
Период
Сортировка
От Peter Griggs
Тема GiST secondary split
Дата
Msg-id CACEwj4pQ3fycFe2sUC_wK8YC4RjKbRieZyFt1Zxmbr0czytU4g@mail.gmail.com
обсуждение исходный текст
Ответы Re: GiST secondary split  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Список pgsql-hackers
I am hacking some GIST code for a research project and wanted clarification about what exactly a secondary split is in GIST. More specifically I am wondering why the supportSecondarySplit function (which is in src/backend/access/gist/gistsplit.c) can assume that the data is currently on the left side in order to swap it.

/*
* Clean up when we did a secondary split but the user-defined PickSplit
* method didn't support it (leaving spl_ldatum_exists or spl_rdatum_exists
* true).
*
* We consider whether to swap the left and right outputs of the secondary
* split; this can be worthwhile if the penalty for merging those tuples into
* the previously chosen sets is less that way.
*
* In any case we must update the union datums for the current column by
* adding in the previous union keys (oldL/oldR), since the user-defined
* PickSplit method didn't do so.
*/
static void
supportSecondarySplit(Relation r, GISTSTATE *giststate, int attno,
GIST_SPLITVEC *sv, Datum oldL, Datum oldR)
{

Best,
Peter

--
Peter Griggs
Masters of Engineering (Meng) in Computer Science
Massachusetts Institute of Technology | 2020

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Add FOREIGN to ALTER TABLE in pg_dump
Следующее
От: Thomas Munro
Дата:
Сообщение: Re: Should we add xid_current() or a int8->xid cast?