Re: COPY FREEZE has no warning
От | Bruce Momjian |
---|---|
Тема | Re: COPY FREEZE has no warning |
Дата | |
Msg-id | 20130126183407.GD9274@momjian.us обсуждение исходный текст |
Ответ на | Re: COPY FREEZE has no warning (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-hackers |
On Fri, Jan 25, 2013 at 11:28:58PM -0500, Bruce Momjian wrote: > On Fri, Jan 25, 2013 at 11:08:56PM -0500, Tom Lane wrote: > > Bruce Momjian <bruce@momjian.us> writes: > > > ! ereport(ERROR, > > > ! (ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE, > > > ! errmsg("cannot perform FREEZE because of previous table activity in the current transaction"))); > > > > [ itch... ] What is "table activity"? I always thought of tables as > > being rather passive objects. And anyway, isn't this backwards? What > > we're complaining of is *lack* of activity. I don't see why this isn't > > using the same message as the other code path, namely > > Well, here is an example of this message: > > BEGIN; > TRUNCATE vistest; > SAVEPOINT s1; > COPY vistest FROM stdin CSV FREEZE; > ERROR: cannot perform FREEZE because of previous table activity in the current transaction > COMMIT; > > Clearly it was truncated in the same transaction, but the savepoint > somehow invalidates the freeze. There is a C comment about it: > > * BEGIN; > * TRUNCATE t; > * SAVEPOINT save; > * TRUNCATE t; > * ROLLBACK TO save; > * COPY ... > > I changed it to: > > ERROR: cannot perform FREEZE because of transaction activity after table creation or truncation Patch applied. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-hackers по дате отправления: