pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Keary Suska <hierophant@pcisys.net>
Cc: Postgres-Interfaces <pgsql-interfaces@postgresql.org>
Subject: Re: Asynchronous Queries/libpq
Date: Fri, 31 Mar 2006 18:56:08 -0500
Message-ID: <5576.1143849368@sss.pgh.pa.us> (raw)
In-Reply-To: <C052D76D.27B5A%hierophant@pcisys.net>
References: <C052D76D.27B5A%hierophant@pcisys.net>

Keary Suska <hierophant@pcisys.net> writes:
> Is it that PQgetResult will return a full query result from a single
> command, and will only return NULL if there are no more commands that have
> not completed, therefore only needing to be called once per command in the
> dispatched query; or is it that PQgetResult  must be repeatedly called for
> even a single command query, and that it will only return NULL after each
> command in the dispatched query has completed fully?

You need to loop until PQgetResult returns null, if you want to handle
multi-command strings (you'll get one PGresult per command).  If you
know there's only going to be one result you might be able to get away
without a second PQgetResult call, but I wouldn't recommend it.

> Further, can we *always* assume that query results will be returned in the
> order they appear in the query dispatch?

Yes.  The backend isn't going to execute commands in a query string
out-of-order.

			regards, tom lane



view thread (2+ messages)

Message-ID: <5576.1143849368@sss.pgh.pa.us>
Permalink:  ../5576.1143849368@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/5576.1143849368@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: tgl@sss.pgh.pa.us, hierophant@pcisys.net
  Subject: Re: Asynchronous Queries/libpq
  In-Reply-To: <5576.1143849368@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox