Re: extract psql meta-commands into library? - Mailing list pgsql-general

From Catherine Devlin
Subject Re: extract psql meta-commands into library?
Date
Msg-id CAGCtaoM-fW+YfvAWu-ywfLbsoHRctixaZ+ZVtZR=G6xRZkSzRA@mail.gmail.com
Whole thread Raw
In response to Re: extract psql meta-commands into library?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: extract psql meta-commands into library?  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: extract psql meta-commands into library?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Thu, Mar 6, 2014 at 12:09 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Hm ... the code in psql's describe.c is not terribly conducive to that.
> Parsing of the backslash command, execution of the query/queries, and
> presentation of the results is all rather tightly bound up; you'd have
> to think about how to decouple those.

I just looked into describe.c, but it was virtually my first look at C
in 15 years and I'm pretty intimidated.

Come to think of it, I really like the idea of moving the query
execution and presentation of results out into plpgsql functions in
template0; then it would be super-easy for applications to utilize
them.  Parsing the command could stay with psql, because the
applications would probably want to do that parsing themselves,
anyway.

The trouble is that psql is written to work against older databases,
so if the code were stripped from describe.c in favor of calling
stored functions, those commands would stop working against older
PostgreSQL installations; and if the code were left in describe.c,
then the same function would exist in two different forms in two
different places, with all the maintanability problems that implies.

Is there a way around this I'm not thinking of?

Alternately, I may just give up and write my own, freestanding,
approximate implementation of the meta-commands with no effort to
actually replace the native one.  It could still be useful to
application developers if they find out about it.

--
- Catherine
http://catherinedevlin.blogspot.com


pgsql-general by date:

Previous
From: David Johnston
Date:
Subject: Re: There is bug in PCS 0.9.26: configure pacemaker resource agent for PG stream replication
Next
From: Pavel Stehule
Date:
Subject: Re: extract psql meta-commands into library?