Fix tab completion of "SET variable TO|=" to not offer bogus completions.

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

Commit: 90434e6f2cf9fb629069b1b3017ea1a2c1ab07eb
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2019-07-02T17:35:14Z
Releases: 10.10
Fix tab completion of "SET variable TO|=" to not offer bogus completions.

Don't think that the context "UPDATE tab SET var =" is a GUC-setting
command.

If we have "SET var =" but the "var" is not a known GUC variable,
don't offer any completions.  The most likely explanation is that
we've misparsed the context and it's not really a GUC-setting command.

Per gripe from Ken Tanzer.  Back-patch to 9.6.  The issue exists
further back, but before 9.6 the code looks very different and it
doesn't actually know whether the "var" name matches anything,
so I desisted from trying to fix it.

Discussion: https://postgr.es/m/CAD3a31XpXzrZA9TT3BqLSHghdTK+=cXjNCE+oL2Zn4+oWoc=qA@mail.gmail.com

Files

PathChange+/−
src/bin/psql/tab-complete.c modified +26 −13

Discussion