Re: proposal - assign result of query to psql variable

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Andrew Dunstan <andrew@dunslane.net>, Shigeru Hanada <shigeru.hanada@gmail.com>, Phil Sorber <phil@omniti.com>, Erik Rijkers <er@xs4all.nl>, David Fetter <david@fetter.org>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2013-02-01T22:56:05Z
Lists: pgsql-hackers
Pavel Stehule <pavel.stehule@gmail.com> writes:
> here is patch related to your proposal

I looked at this a bit.  It's getting there, though I still don't trust
the places where you've chosen to clear the prefix setting.  (Looking at
it, I'm now not sure that I trust the implementation of \g either.)

However, what I wanted to ask about was this:

> + 			if (PQgetisnull(result, 0, i))
> + 				value = pset.popt.nullPrint ? pset.popt.nullPrint : "";
> + 			else
> + 				value = PQgetvalue(result, 0, i);

What's the argument for using nullPrint here?  ISTM that's effectively a
form of escaping, and I'd not expect that to get applied to values going
into variables, any more than any other formatting we do when printing
results.

Admittedly, if we just take the PQgetvalue result blindly, there'll
be no way to tell the difference between empty-string and NULL results.
But I'm not convinced that this approach is better.  It would certainly
need more than no documentation.

			regards, tom lane


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix oversight in new code for printing rangetable aliases.