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

Reply via email to