From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Catherine Devlin <catherine(dot)devlin(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-general(at)postgresql(dot)org >> PG-General Mailing List" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: extract psql meta-commands into library? |
Date: | 2014-03-07 15:50:05 |
Message-ID: | CAFj8pRDiE6d4uoHwk5EresgvgzfWRPgCbgocn+F-wfUgFOa64w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
2014-03-07 16:42 GMT+01:00 Catherine Devlin <catherine(dot)devlin(at)gmail(dot)com>:
> On Thu, Mar 6, 2014 at 12:09 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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.
>
I don't think so using plpgsql can be good idea:
a) client side is better for implementation version independent code
b) possible bugs in plpgsql code should not be fixed without living
database - so any bug release can be significantly more dangerous than now.
Regards
Pavel
>
> 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
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2014-03-07 18:06:56 | Re: extract psql meta-commands into library? |
Previous Message | Catherine Devlin | 2014-03-07 15:42:13 | Re: extract psql meta-commands into library? |