Detect mismatched CONTINUE and EXIT statements at plpgsql compile time.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: fcdfce6820373422bcdb5630f9eb63df14fd0764
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2015-08-22T00:17:19Z
Releases: 9.6.0
Detect mismatched CONTINUE and EXIT statements at plpgsql compile time.

With a bit of tweaking of the compile namestack data structure, we can
verify at compile time whether a CONTINUE or EXIT is legal.  This is
surely better than leaving it to runtime, both because earlier is better
and because we can issue a proper error pointer.  Also, we can get rid
of the ad-hoc old way of detecting the problem, which only took care of
CONTINUE not EXIT.

Jim Nasby, adjusted a bit by me

Files