Simon Riggs wrote:
RelationCacheInitFileInvalidate() is also called on each

It's only called if the prepared transaction invalidated the init file.

If that is called 100% of the time, then we
can skip writing an additional record for prepared transactions by
triggering the removal of pg_internal.init when we see a
XLOG_XACT_COMMIT_PREPARED during replay. Not sure whether we need to do that, Heikki? Anyone?
I'm guessing no, but it seems sensible to check.

If you write the WAL record in RelationCacheInitFileInvalidate(true), that's enough. No extra handling for prepared transactions is needed.

  Heikki Linnakangas

---------------------------(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

Reply via email to