Hi,

When I run "SELECT * FROM pg_class LIMIT 1";  then postgresql
run GetSnapshotData twice, one is

/*
 * Set up a snapshot if parse analysis/planning will need one.
 */
if (analyze_requires_snapshot(parsetree))
{
        PushActiveSnapshot(GetTransactionSnapshot());
        snapshot_set = true;
}


the other one is in PortalStart.

My question is why can't we share the same snapshot for the 2 cases?
parser & planner requires Catalog Snapshot which should be the 
latest one, but in the above case, looks the executor can reuse it as
well. Is there anything I missed?

Thanks

-- 
Best Regards
Andy Fan



Reply via email to