Re: [pgsql-interfaces] Daily digest v1.1236 (2 messages)
pgsql-interfaces-owner(at)postgresql(dot)org wrote:
Message Digest
Volume 1 : Issue 1236 : "text" Format
Messages in this Issue:
Retrieve all the returned rows in one call
Re: Retrieve all the returned rows in one call
----------------------------------------------------------------------
Date: Mon, 09 Oct 2006 16:58:05 +0200
From: "Andreas Gidlund" <vaxis(at)hotmail(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Retrieve all the returned rows in one call
Message-ID: <BAY103-F23CEDEF25EEDE7CAFCE5F9BA160(at)phx(dot)gbl>
I am right now using the libpq interface and struggling with efficiently
retrieve the result from a query.
Let's say I run a select statement with some where clauses and then retrieve
the result into a PGresult. I want to know if there is an efficient way to
retrieve all the rows at once? I am going to return a char*** from my
function, i.e. a two-dimensional array of char pointers.
I have seen the COPY sql command, but up to v8.1 i cannot use a select
statement with it, the only way to customize COPY is to choose which columns
to return, but still, the only option is to return the whole table.
Furthermore, when using PQgetCopyData I get the whole row at once, but I
still have to loop through all rows.
I have also seen in the PGresult structure that it has a member called
tuples, which is a two-dimensional array of the structure PGresAttValue.
This is a way to recieve all the data at once, but it is in a format which
is specific for PostgreSQL and I am developing a database interface
including other databases two, so I want to use a general structure returned
from the function, i.e. a char***. This means that I would have to loop
through the tuples array to convert into the char array structure, and hence
lose the whole meaning with recieving all the rows at once.
So my question is if it is possible in any way to retrieve the result in the
form of char***?
_________________________________________________________________
Gör karriär! http://monster.msn.se/
------------------------------
Date: Mon, 9 Oct 2006 11:30:06 -0400
From: Sean Davis <sdavis2(at)mail(dot)nih(dot)gov>
To: pgsql-interfaces(at)postgresql(dot)org
Cc: "Andreas Gidlund" <vaxis(at)hotmail(dot)com>
Subject: Re: Retrieve all the returned rows in one call
Message-ID: <200610091130(dot)06335(dot)sdavis2(at)mail(dot)nih(dot)gov>
On Monday 09 October 2006 10:58, Andreas Gidlund wrote:
I am right now using the libpq interface and struggling with efficiently
retrieve the result from a query.
Let's say I run a select statement with some where clauses and then
retrieve the result into a PGresult. I want to know if there is an
efficient way to retrieve all the rows at once? I am going to return a
char*** from my function, i.e. a two-dimensional array of char pointers.
I have seen the COPY sql command, but up to v8.1 i cannot use a select
statement with it, the only way to customize COPY is to choose which
columns to return, but still, the only option is to return the whole table.
Furthermore, when using PQgetCopyData I get the whole row at once, but I
still have to loop through all rows.
I have also seen in the PGresult structure that it has a member called
tuples, which is a two-dimensional array of the structure PGresAttValue.
This is a way to recieve all the data at once, but it is in a format which
is specific for PostgreSQL and I am developing a database interface
including other databases two, so I want to use a general structure
returned from the function, i.e. a char***. This means that I would have to
loop through the tuples array to convert into the char array structure, and
hence lose the whole meaning with recieving all the rows at once.
So my question is if it is possible in any way to retrieve the result in
the form of char***?
I think the answer is no.
Sean
------------------------------
End of [pgsql-interfaces] Daily digest v1.1236 (2 messages)
**********
We had a similar issue. Don't know if this will work for you but you may
want to look into FETCH ALL
--
--------------------------------------------------------------------------------
Andrew Rost
National Operational Hydrologic Remote Sensing Center (NOHRSC)
National Weather Service, NOAA
1735 Lake Dr. West, Chanhassen, MN 55317-8582
Voice: (952)361-6610 x 234
Fax: (952)361-6634
andy(dot)rost(at)noaa(dot)gov
http://www.nohrsc.noaa.gov
--------------------------------------------------------------------------------
Home |
Main Index |
Thread Index