On Fri, Mar 25, 2011 at 4:00 AM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > On 25.03.2011 09:51, Heikki Linnakangas wrote: >> >> I don't think we should put the onus on the user to choose the right >> data loading mode. If we can reliably detect the cases where it's safe >> do these tricks, we can transparently apply them when possible. I would >> be cool with tricks that apply only in narrow cases, as long as we don't >> require the user to do anything. > > I believe the conditions for being able to set hint bits immediately at COPY > are: > > 1. The table has been created or truncated in the same transaction > 2. We are not in a subtransaction (or the table was created and truncated in > the same subtransaction) > 3. There are no open portals > 4. Executing the COPY doesn't need to run any "unsafe" code that might > access the same table. This includes triggers, check constraints and input > functions. An expression is safe if it is immutable.
That's not enough... some other transaction could see the data before the transaction commits. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers