Martijn van Oosterhout wrote:
On Tue, Jul 03, 2007 at 12:05:07PM +0100, Heikki Linnakangas wrote:
This is actually a bit of a problem. We would need to know when we
read in a page what the tupledescriptor for that relation looks like
to know which fields are varlena. I'm not sure how easy it would be
to arrange for the tuple descriptor to be passed down that far.
Speaking of on-the-fly upgrading, ReadBuffer is already passed the Relation, which contains the TupleDesc, so I don't think that's a problem. Not sure how easy that would be to do in an external program like pg_migrator.

My reading of this thread so far is that we're intending to upgrade
pages on the fly? Which means that at any point in time, some pages
will be converted and some not, so the tuple descriptor isn't going to
help, surely you need some identifier on the page telling you if it's
upgraded or not?

Yes, we already have such an identifier. The page layout version number is stored on every page.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to