Re: BUG #15631: Generated as identity field in a temporary table withon commit drop corrupts system catalogs
От | Peter Eisentraut |
---|---|
Тема | Re: BUG #15631: Generated as identity field in a temporary table withon commit drop corrupts system catalogs |
Дата | |
Msg-id | 99401209-fb88-036d-c93f-dbe5211a091a@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: BUG #15631: Generated as identity field in a temporary table with on commit drop corrupts system catalogs (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: BUG #15631: Generated as identity field in a temporary tablewith on commit drop corrupts system catalogs
|
Список | pgsql-bugs |
On 2019-02-15 15:43, Tom Lane wrote: > Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes: >> What is the general coding principle here? "You need an CCI $WHEN"? > > The general principle is "there should be a CCI after each independent > set of data/catalog changes". You don't typically need CCI between > the primitive actions of a single DDL statement like CREATE SEQUENCE, > because you know that those actions are independent and don't look at > each others' output. But you need one at the end, in case whatever > happens next should be able to see the results of the statement. Yeah, I'm OK on that, but that's not really the problem here. This is not a case where a later step in a complex DDL command needs to see what an earlier step did. This is about that something later in the transaction needs to see what happened earlier in the transaction. This does not seem to be the job of each individual DDL command; they don't know what someone later might want to look at. Otherwise many DDL command implementations are lacking this CCI. I think the CCI should be more like at the end of ProcessUtility(). -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-bugs по дате отправления: