Re: Re: Add minor version to v3 protocol to allow changes without breaking backwards compatibility
От | Robert Haas |
---|---|
Тема | Re: Re: Add minor version to v3 protocol to allow changes without breaking backwards compatibility |
Дата | |
Msg-id | CA+TgmoZDiF+Fu1k6cMgTQkQ9TmZgx7wL86=HApuYzzB=DQYgWQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Add minor version to v3 protocol to allow changes without breaking backwards compatibility (Noah Misch <noah@leadboat.com>) |
Ответы |
Re: Re: Add minor version to v3 protocol to allow
changes without breaking backwards compatibility
Re: Re: Add minor version to v3 protocol to allow changes without breaking backwards compatibility |
Список | pgsql-hackers |
On Thu, Jan 19, 2012 at 10:37 AM, Noah Misch <noah@leadboat.com> wrote: > I agree with Merlin; the frontend/backend protocol is logically distinct from > the binary send/recv formats of data types. For one key point, the latter is > not exclusively core-defined; third-party extensions change their send/recv > formats on a different schedule. They can add myext.binary_format_version > GUCs of their own to cope in a similar way. I agree. It occurs to me that we recently changed the default *text* output format for bytea for reasons not dissimilar to those contemplated here. Presumably, that's a much more disruptive change, and yet we've had minimal complaints because anyone who gets bitten can easily set bytea_output='escape' and the problem goes away. The same thing seems like it would work here, only the number of people needing to change the parameter will probably be even smaller, because fewer people use binary than text. Having said that, if we're to follow the precedent set by bytea_format, maybe we ought to just add binary_array_format={huge,ittybitty} and be done with it, rather than inventing a minor protocol version GUC for something that isn't really a protocol version change at all. We could introduce a differently-named general mechanism, but I guess I'm not seeing the point of that either. Just because someone has a backward-compatibility issue with one change of this type doesn't mean they have a similar issue with all of them. So I think adding a special-purpose GUC is more logical and more parallel to what we've done in the past, and it doesn't saddle us with having to be certain that we've designed the mechanism generally enough to handle all the cases that may come later. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: