Simon Riggs wrote:
> RelationCacheInitFileInvalidate() is also called on each
> FinishPreparedTransaction().
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 EnterpriseDB http://www.enterprisedb.com