]> granicus.if.org Git - postgresql/commit
Decouple psqlscan.l from surrounding program.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 18 Mar 2016 19:05:49 +0000 (15:05 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 18 Mar 2016 19:05:59 +0000 (15:05 -0400)
commit4e1d2a170836028370675922ea9a690648d3c18d
treef7184ba31d13ff19f399167393ca46b2b445a958
parent08a6d36dcbe4ebdcdf9d554e5b571748fe23001b
Decouple psqlscan.l from surrounding program.

Remove assorted external references from psqlscan.l in preparation for
making it usable by other frontend programs.  This mostly involves
getting rid of direct calls to psql_error() and GetVariable() in favor
of introducing a callback-functions struct to encapsulate variable
fetching and error printing.  In addition, pass the current encoding
and standard-strings status as additional parameters to psql_scan_setup
instead of looking directly at "pset" or calling additional functions.

I did not bother to change some references to psql_error that are in
functions that will soon migrate to a psql-specific backslash-command
lexer.  Other than that, this version of psqlscan.l is capable of
compiling standalone.  It still depends on assorted src/common functions
as well as some encoding-related libpq functions, but we expect that
all programs using it will be happy with those dependencies.

Kyotaro Horiguchi, somewhat editorialized on by me
src/bin/psql/common.c
src/bin/psql/common.h
src/bin/psql/mainloop.c
src/bin/psql/mainloop.h
src/bin/psql/psqlscan.h
src/bin/psql/psqlscan.l
src/bin/psql/startup.c