Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

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

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group