Re: Creating foreign key on partitioned table is too slow
От | Tom Lane |
---|---|
Тема | Re: Creating foreign key on partitioned table is too slow |
Дата | |
Msg-id | 18706.1572497776@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Creating foreign key on partitioned table is too slow (David Rowley <david.rowley@2ndquadrant.com>) |
Ответы |
Re: Creating foreign key on partitioned table is too slow
|
Список | pgsql-hackers |
David Rowley <david.rowley@2ndquadrant.com> writes: > In Ottawa this year, Andres and I briefly talked about the possibility > of making a series of changes to how equalfuncs.c works. The idea was > to make it easy by using some pre-processor magic to allow us to > create another version of equalfuncs which would let us have an equal > comparison function that returns -1 / 0 / +1 rather than just true or > false. This would allow us to Binary Search Trees of objects. I > identified that EquivalenceClass.ec_members would be better written as > a BST to allow much faster lookups in get_eclass_for_sort_expr(). This seems like a good idea, but why would we want to maintain two versions? Just change equalfuncs.c into comparefuncs.c, full stop. equal() would be a trivial wrapper for (compare_objects(a,b) == 0). Andres' ideas about autogenerating all that boilerplate aren't bad, but that's no justification for carrying two full sets of per-node logic when one set would do. regards, tom lane
В списке pgsql-hackers по дате отправления: