Fix accidentally-harmless thinko in psqlscan_test_variable(). This code was passing literal strings to psqlscan_emit, which is quite contrary to that function's specification: "If you pass it something that is not part of the yytext string, you are making a mistake". It accidentally worked anyway, even in non-safe_encoding mode. psqlscan_emit would compute a garbage "reference" pointer, but would never dereference that since the passed string is all-ASCII. So there's no live bug today, but that is a happenstance outcome of psqlscan_emit's current implementation.
Let's make psqlscan_test_variable do what it's supposed to, namely append directly to the output buffer. This is just future-proofing against possible changes in psqlscan_emit, so I don't feel a need to back-patch. Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/2fd3e2fa5c908d05ac4d8b6c2c80fd50c506f32e Modified Files -------------- src/fe_utils/psqlscan.l | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)