Ron Johnson <ronljohnsonjr@gmail.com> writes: > But why does "SELECT 1;" need a snapshot? Heck, why does "SELECT > <immutable>;" need a snapshot?
Because we're not going to analyze the statement in the amount of depth needed to make that distinction before we crank up the transactional machinery. If it says SELECT, it gets a snapshot.