Re: proposal - assign result of query to psql variable - Mailing list pgsql-hackers

From David Fetter
Subject Re: proposal - assign result of query to psql variable
Date
Msg-id 20120801040526.GG4916@fetter.org
Whole thread Raw
In response to Re: proposal - assign result of query to psql variable  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: proposal - assign result of query to psql variable
List pgsql-hackers
On Sat, Jul 28, 2012 at 06:11:21PM +0200, Pavel Stehule wrote:
> Hello
>
> 2012/7/27 Tom Lane <tgl@sss.pgh.pa.us>:
> > Pavel Stehule <pavel.stehule@gmail.com> writes:
> >> 2012/7/26 David Fetter <david@fetter.org>:
> >>>>> How about
> >>>>> \gset var1,,,var2,var3...
> >
> >>>> I don't like this - you can use fake variable - and ignoring some
> >>>> variable has no big effect on client
> >
> >>> Why assign to a variable you'll never use?
> >
> >> so why you get data from server, when you would not to use it ?
> >
> > Yeah.  I don't see why you'd be likely to write a select that computes
> > columns you don't actually want.
> >
> >> Tom - your proposal release of stored dataset just before next
> >> statement, not like now on the end of statement?
> >
> > Huh?  I think you'd assign the values to the variables and then PQclear
> > the result right away.
>
> yes - I didn't understand \g mechanism well.
>
> Here is patch - it is not nice at this moment and it is little bit
> longer than I expected - but it works
>
> It supports David's syntax
>
> postgres=# select 'Hello', 'World' \gset a,b
> postgres=# \echo :'a' :'b'
> 'Hello' 'World'
> postgres=# select 'Hello', 'World';
>  ?column? │ ?column?
> ──────────┼──────────
>  Hello    │ World
> (1 row)
>
> postgres=# \gset a
> to few target variables
> postgres=# \gset a,
> postgres=# \echo :'a'
> 'Hello'
>
> Regards
>
> Pavel

Teensy code cleanup (trailing space) and SGML docs added.

Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: New statistics for WAL buffer dirty writes
Next
From: Tom Lane
Date:
Subject: Re: JSON function reference in docs