[HACKERS] [PATCH] Incremental sort (was: PoC: Partial sort)
От | Alexander Korotkov |
---|---|
Тема | [HACKERS] [PATCH] Incremental sort (was: PoC: Partial sort) |
Дата | |
Msg-id | CAPpHfds1waRZ=NOmueYq0sx1ZSCnt+5QJvizT8ndT2=etZEeAQ@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: [HACKERS] [PATCH] Incremental sort (was: PoC: Partial sort)
|
Список | pgsql-hackers |
Hi all!
I decided to start new thread for this patch for following two reasons.
* It's renamed from "Partial sort" to "Incremental sort" per suggestion by Robert Haas [1]. New name much better characterizes the essence of algorithm.
* I think it's not PoC anymore. Patch received several rounds of review and now it's in the pretty good shape.
Attached revision of patch has following changes.
* According to review [1], two new path and plan nodes are responsible for incremental sort: IncSortPath and IncSort which are inherited from SortPath and Sort correspondingly. That allowed to get rid of set of hacks with minimal code changes.
* According to review [1] and comment [2], previous tuple is stored in standalone tuple slot of SortState rather than just HeapTuple.
* New GUC parameter enable_incsort is introduced to control planner ability to choose incremental sort.
* Test of postgres_fdw with not pushed down cross join is corrected. It appeared that with incremental sort such query is profitable to push down. I changed ORDER BY columns so that index couldn't be used. I think this solution is more elegant than setting enable_incsort = off.
Also patch has set of assorted code and comments improvements.
Links
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: