On Sat, Feb 2, 2013 at 09:51:13AM -0500, Noah Misch wrote: > > OK, so, should we change the error message: > > > > cannot perform FREEZE because of transaction activity after table > > creation or truncation > > > > to > > > > cannot perform FREEZE because the table was not created or > > truncated in the current subtransaction > > > > or do we need to keep the "transaction activity" weasel wording because > > of the second case you listed above? I am suspecting the later. > > Let's touch on the exception in passing by using the phrase "last truncated", > giving this wording for both the second and the third COPY FREEZE error sites: > > cannot perform FREEZE because the table was not created or last > truncated in the current subtransaction
Well, so you are saying that there really isn't any use-visible logic for those messages to be different, i.e. that the transaction id can be set to invalid even if we created/truncated in the same transaction, but not the same subtransaction? The comparisons that trigger the two messages are: if (cstate->rel->rd_createSubid != InvalidSubTransactionId || cstate->rel->rd_newRelfilenodeSubid != InvalidSubTransactionId) and if (cstate->rel->rd_createSubid != GetCurrentSubTransactionId() || cstate->rel->rd_newRelfilenodeSubid != GetCurrentSubTransactionId()) The first comparison is creation, the second, truncation. Please confirm and I will make the change, or you can. -- 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