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

Attachment: signature.asc
Description: Digital signature

Reply via email to