Re: POC: GROUP BY optimization
От | Andrei Lepikhov |
---|---|
Тема | Re: POC: GROUP BY optimization |
Дата | |
Msg-id | 17037754-f187-4138-8285-0e2bfebd0dea@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: POC: GROUP BY optimization (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On 4/12/24 06:44, Tom Lane wrote: > * The very first hunk causes get_eclass_for_sort_expr to have > side-effects on existing EquivalenceClass data structures. > What is the argument that that's not going to cause problems? > At the very least it introduces asymmetry, in that the first > caller wins the chance to change the EC's ec_sortref and later > callers won't be able to. Let me resolve issues bit by bit. Addressing your first note, 'asymmetry,' I discovered this part of the code. Before the 8d83a5d, it could cause some artefacts, but since then, a kind of asymmetry has been introduced into the GROUP-BY clause list. As you can see in the attached patch, GROUP-BY reordering works even when the asymmetry of the 8d83a5d chooses different keys. At the same time, I agree that implicitly setting anything in an exporting function, which should just look up for EC, is a questionable coding style. To avoid possible usage issues (in extensions, for example), I propose setting it up afterwards, explicitly forcing this action by input parameter - see my attempt in the attachment. -- regards, Andrei Lepikhov Postgres Professional
Вложения
В списке pgsql-hackers по дате отправления: