X-Original-To: pgsql-interfaces-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 7BD7FDB1BD for ; Thu, 10 Nov 2005 12:52:03 -0400 (AST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 79366-01 for ; Thu, 10 Nov 2005 16:51:59 +0000 (GMT) X-Greylist: delayed 07:40:12.755365 by SQLgrey- Received: from gatefox.foxi.nl (foxi.xs4all.nl [194.109.246.192]) by svr1.postgresql.org (Postfix) with ESMTP id 06640DB172 for ; Thu, 10 Nov 2005 12:51:57 -0400 (AST) Received: from techfox.foxi (techfox.foxi [192.168.0.79]) by gatefox.foxi.nl (8.13.3/8.13.3) with ESMTP id jAAGpucr016884; Thu, 10 Nov 2005 17:51:56 +0100 From: Frank van Vugt Organization: Foxi Consultants in Technology BV To: pgsql-interfaces@postgresql.org Subject: Re: Incremental results from libpq Date: Thu, 10 Nov 2005 17:51:54 +0100 User-Agent: KMail/1.8 References: <4D426B54-E08F-4DE9-9776-D46610CA4968@slamb.org> <19391.1131571328@sss.pgh.pa.us> <84C7635D-EAF2-40CF-A71C-976077D5465A@slamb.org> In-Reply-To: <84C7635D-EAF2-40CF-A71C-976077D5465A@slamb.org> Cc: Tom Lane MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511101751.55377.ftm.van.vugt@foxi.nl> X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, score=0.04 required=5 tests=[AWL=0.040] X-Spam-Score: 0.04 X-Spam-Level: X-Archive-Number: 200511/15 X-Sequence-Number: 5811 > > The main reason why libpq does what it does is that this way we do not > > have to expose in the API the notion of a command that fails part way > > through. If you support partial result fetching then you'll have to > > deal with the idea that a SELECT could fail after you've already > > returned some rows to the client. I'm wondering, what kind of failure do you have in mind, here? If I'm informed correctly then Oracle and others are generating the complete static result set on the server-side, which will then stay cached until all rows/chunks are fetched. The one failure that comes to mind in this scenario is that the connection breaks down, but since informing the client would then be a bit difficult, you'll certainly be referring to something else ;) If PostgreSQL were to build the complete result-set before handing over the first fetched rows/chunks, then I understand. Is that the case? Or something else even...? -- Best, Frank.