pgsql: Add a "void *" passthrough pointer for psqlscan.l's callback fun

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Add a "void *" passthrough pointer for psqlscan.l's callback fun
Date: 2017-03-13 21:14:51
Message-ID: E1cnXIp-0002Az-VD@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add a "void *" passthrough pointer for psqlscan.l's callback functions.

The immediate motivation for this is to provide clean infrastructure
for the proposed \if...\endif patch for psql; but it seems like a good
thing to have even if that patch doesn't get in. Previously the callback
functions could only make use of application-global state, which is a
pretty severe handicap.

For the moment, the pointer is only passed through to the get_variable
callback function. I considered also passing it to the write_error
callback, but for now let's not. Neither psql nor pgbench has a use
for that, and in the case of psql we'd have to invent a separate wrapper
function because we would certainly not want to change the signature of
psql_error().

Discussion: https://postgr.es/m/10108.1489418309@sss.pgh.pa.us

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/895e36bb3f36fdb7ec8e573be1a20d104fac820b

Modified Files
--------------
src/bin/psql/common.c | 6 +++++-
src/bin/psql/common.h | 3 ++-
src/bin/psql/psqlscanslash.l | 3 ++-
src/fe_utils/psqlscan.l | 19 +++++++++++++++++--
src/include/fe_utils/psqlscan.h | 5 ++++-
src/include/fe_utils/psqlscan_int.h | 4 +++-
6 files changed, 33 insertions(+), 7 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2017-03-13 22:03:24 pgsql: Silence unused variable compiler warning
Previous Message Andres Freund 2017-03-13 21:09:39 Re: [COMMITTERS] pgsql: Add amcheck extension to contrib.