Remove plpgsql's special-case code paths for SET/RESET.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 22 May 2021 14:25:36 +0000 (10:25 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 22 May 2021 14:25:36 +0000 (10:25 -0400)
commit30168be8f75b95183abccf48f0da7a64a0cfbd9f
treee0957cbe9218b4957d5b4362972a54dd2918b1f1
parent9e215378d7fbb7d4615be917917c52f246cc6c61
Remove plpgsql's special-case code paths for SET/RESET.

In the wake of 84f5c2908, it's no longer necessary for plpgsql to
handle SET/RESET specially.  The point of that was just to avoid
taking a new transaction snapshot prematurely, which the regular code
path through _SPI_execute_plan() now does just fine (in fact better,
since it now does the right thing for LOCK too).  Hence, rip out a
few lines of code, going back to the old way of treating SET/RESET
as a generic SQL command.  This essentially reverts all but the
test cases from b981275b6.

Discussion: https://postgr.es/m/15990-eee2ac466b11293d@postgresql.org
src/pl/plpgsql/src/expected/plpgsql_transaction.out
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/pl_funcs.c
src/pl/plpgsql/src/pl_gram.y
src/pl/plpgsql/src/pl_unreserved_kwlist.h
src/pl/plpgsql/src/plpgsql.h