Thread: [COMMITTERS] pgsql: Add a "void *" passthrough pointer for psqlscan.l's callbackfun
[COMMITTERS] pgsql: Add a "void *" passthrough pointer for psqlscan.l's callbackfun
From
Tom Lane
Date:
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(-)