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

Re: [pgsql-interfaces] Daily digest v1.1236 (2 messages)

From: andy rost <Andy(dot)Rost(at)noaa(dot)gov>
To: pgsql-interfaces-owner(at)postgresql(dot)org
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: [pgsql-interfaces] Daily digest v1.1236 (2 messages)
Date: 2006-10-10 15:28:02
Message-ID: 452BBC02.7090606@noaa.gov (view raw or flat)
Thread:
Lists: pgsql-interfaces
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
--------------------------------------------------------------------------------


pgsql-interfaces by date

Next:From: Dmitriy ChumackDate: 2006-10-11 15:33:13
Subject: libpq - check PGconn* - is it valid
Previous:From: Sean DavisDate: 2006-10-09 15:30:06
Subject: Re: Retrieve all the returned rows in one call

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group