Greetings, In a discussion which came up at PgEast, I questioned if it'd be possible to set the 'all visible' hint bit and give the tuples the frozen XID when loading data into a table which was created in the same transaction.
The idea being that no other transactions could see the table (in any important way anyway.. couldn't SELECT from it, for example) since it was created in the same transaction that the data was loaded. This would avoid having to rewrite the table to set the hint bits and to set the tuples as frozen after the data load. There's a question here is about if concurrent transactions in serializable or read isolated would be able to see the new table too early, because catalog lookups typically use SnapshotNow, and hence might see the new tuples when it really shouldn't be able to. It seems odd to me that it might be able to select from this new table which was committed in a transaction which started after the current one though. Anyway, just a thought that I wanted to get out to hackers before I destroy the brain cells that it's stored in tonight... :) Thanks, Stephen
signature.asc
Description: Digital signature