Re: logical column ordering
От | Tomas Vondra |
---|---|
Тема | Re: logical column ordering |
Дата | |
Msg-id | 54F0C11D.7000906@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: logical column ordering (Andres Freund <andres@2ndquadrant.com>) |
Ответы |
Re: logical column ordering
|
Список | pgsql-hackers |
On 26.2.2015 23:34, Andres Freund wrote: > On 2015-02-26 16:16:54 -0600, Jim Nasby wrote: >> On 2/26/15 4:01 PM, Alvaro Herrera wrote: >>> The reason for doing it this way is that changing the underlying >>> architecture is really hard, without having to bear an endless hackers >>> bike shed discussion about the best userland syntax to use. It seems a >>> much better approach to do the actually difficult part first, then let >>> the rest to be argued to death by others and let those others do the >>> easy part (and take all the credit along with that); that way, that >>> discussion does not kill other possible uses that the new architecture >>> allows. > > I agree that it's a sane order of developing things. But: I don't > think it makes sense to commit it without the capability to change > the order. Not so much because it'll not serve a purpose at that > point, but rather because it'll essentially untestable. And this is a > patch that needs a fair amount of changes, both automated, and > manual. I agree that committing something without a code that actually uses it in practice is not the best approach. That's one of the reasons why I was asking for the use cases we expect from this. > At least during development I'd even add a function that randomizes > the physical order of columns, and keeps the logical one. Running > the regression tests that way seems likely to catch a fair number of > bugs. That's not all that difficult, and can be done in 10 lines of PL/pgSQL - see the attached file. Should be sufficient for development testing (and in production there's not much use for that anyway). >> +1. This patch is already several years old; lets not delay it further. >> >> Plus, I suspect that you could hack the catalog directly if you >> really wanted to change LCO. Worst case you could create a C >> function to do it. > > I don't think that's sufficient for testing purposes. Not only for > the patch itself, but also for getting it right in new code. I think we could calls to the randomization functions into some of the regression tests (say 'create_tables.sql'), but that makes regression tests ... well, random, and I'm not convinced that's a good thing. Also, this makes regression tests harder to think, because "SELECT *" does different things depending on the attlognum order. -- Tomas Vondra http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Вложения
В списке pgsql-hackers по дате отправления: