Remove #include psqlscan.c from psql - Mailing list pgsql-hackers

From Karl O. Pinc
Subject Remove #include psqlscan.c from psql
Date
Msg-id 1348724599.28442.0@mofo
Whole thread Raw
List pgsql-hackers
Hi,

This patch eliminates the #include of psqlscan.c
at the bottom of mainloop.c.

The attached patch uses the %top{} flex feature
introduced in flex 2.5.30 released 2003-4-1.
(See the NEWS file for flex.)

The good news is that config/programs.m4
requires flex >= 2.5.31.  The bad news
is that RHEL 5 (released 2007-03-14
with a 13 year (10+3 years) support lifecycle)
has a flex (2.5.4a) that is too old for this patch. :-(
(At least this is what the changelog in flex
from the RHEL 5 srpm repo tells me.)
I don't know what this means.

The patch is against git head.  All the tests
pass, fwiw.  Because this depends on the toolchain
it wouldn't hurt to build on other architectures/
operating systems.

I'm thinking of exposing enough of the psql parser,
moving it to libpq, that any client-side app can
do what libpq does; given a bunch of sql
separated by semi-colons get the results
of all the statements.  This should also allow
the "statement separation" to be done on the client
side in libpq.  Although I don't imagine that this
will have a performance impact on the server side
it sounds like a first step toward pushing more of
the parsing onto the client.

Regards,

Karl <kop@meme.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein


Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: new buildfarm client release 4.8
Next
From: Selena Deckelmann
Date:
Subject: Re: setting per-database/role parameters checks them against wrong context