Remember to reset yy_start state when firing up repl_scanner.l.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 24 Jan 2022 17:09:46 +0000 (12:09 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 24 Jan 2022 17:09:46 +0000 (12:09 -0500)
commit3c06ec6d1412a6ebf05ee0566b5c05969f0b541f
tree484aa12cfbc481fa54705c5687ddfee258e69c09
parentf032f63e727c1ab07603b3d1cd88d50f850d5738
Remember to reset yy_start state when firing up repl_scanner.l.

Without this, we get odd behavior when the previous cycle of
lexing exited in a non-default exclusive state.  Every other
copy of this code is aware that it has to do BEGIN(INITIAL),
but repl_scanner.l did not get that memo.

The real-world impact of this is probably limited, since most
replication clients would abandon their connection after getting
a syntax error.  Still, it's a bug.

This mistake is old, so back-patch to all supported branches.

Discussion: https://postgr.es/m/1874781.1643035952@sss.pgh.pa.us
src/backend/replication/repl_scanner.l