Hi all, I'm looking into Postgres' internals, and had two quick questions that are related to each other. (1) What's the difference between advancing the command counter and updating an active snapshot? For example, I see that DefineRelation() increments the command counter, but explain.c / copy.c explicitly calls UpdateActiveSnapshotCommandId(). Is that because the latter call intends to make its changes visible to other concurrent processes? (2) The following change in pquery.c asserts that, if more than one utility statement exists in portal statements, they all have to be Notify statements. https://github.com/postgres/postgres/commit/c0b00760365c74308e9e0719c993eadfbcd090c2#diff-6 When I modify the code so that one statement in portal->stmts gets translated into four separate statements that all depend on each other (one planned, two utility, and another planned statement) and remove the assertion, all four statements still run fine. Looking into the code, I understand this isn't the expected behavior in terms of snapshot handling. In what scenarios can I expect our code to break? Thanks, Ozgun. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general