pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Timothy H. Keitt <Timothy.Keitt@StonyBrook.Edu>
To: alexey@price.ru
Cc: pgsql-interfaces@postgresql.org
Subject: Re: Subject: unbuffered results from libpq?
Date: Mon, 21 May 2001 11:05:41 -0400
Message-ID: <3B092EC5.9060906@StonyBrook.Edu> (raw)
References: <01051819460400.12019@workshop.price.ru>

I realized after this post that one solution is to use a cursor.  You 
can then fetch in small chuncks and write to a local buffer.  The 
problem for a general interface applicaiton such as mine is nested 
transactions --- cursors can only be used within transactions which will 
fail if the the user has independently initiated a transaction (unless 
this has been fixed).

Tim

Alexey Nalbat wrote:

> Hello.
> 
> I have exactly the same question. Could anybody answer it?
> 
> My impression is that it can't be maid. Even use of functions PQsetnonblocking,
> PQsendQuery, PQgetResult, PQconsumeInput,.. doesn't help. Is it so?
> 
> Thanks.
> 
> 
>>My impression is that libpq buffers all results of a query.  Is there a 
>>way to get a "result stream" from the backend instead of having libpq 
>>read everything into a local buffer first?  Currently, my application, 
>>after a query, simply copies the entire buffer from the libpq side into 
>>storage on the application side.  This seems expensive for large 
>>queries.  I'd rather read results directly into storage on the 
>>application side, i.e., "while input get next value from backend".  (I 
>>know about libpqeasy, but this only iterates over the libpq buffer.)
>>
> 


-- 
Timothy H. Keitt
Department of Ecology and Evolution
State University of New York at Stony Brook
Stony Brook, New York 11794 USA
Phone: 631-632-1101, FAX: 631-632-7626
http://life.bio.sunysb.edu/ee/keitt/




view thread (2+ messages)

Message-ID: <3B092EC5.9060906@StonyBrook.Edu>
Permalink:  ../3B092EC5.9060906@StonyBrook.Edu/
Also on:    postgresql.org/message-id/3B092EC5.9060906@StonyBrook.Edu

 · 

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: Timothy.Keitt@StonyBrook.Edu, alexey@price.ru
  Subject: Re: Subject: unbuffered results from libpq?
  In-Reply-To: <3B092EC5.9060906@StonyBrook.Edu>

* 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