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 <br...@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 <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers