Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XwXQw-00017S-Jx for pgsql-hackers@arkaria.postgresql.org; Thu, 04 Dec 2014 14:31:06 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1XwXQv-0008J9-Vi for pgsql-hackers@arkaria.postgresql.org; Thu, 04 Dec 2014 14:31:06 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XwXQv-0008Ix-45 for pgsql-hackers@postgresql.org; Thu, 04 Dec 2014 14:31:05 +0000 Received: from mout.kundenserver.de ([212.227.17.10]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1XwXQr-0001TR-Mk for pgsql-hackers@postgresql.org; Thu, 04 Dec 2014 14:31:03 +0000 Received: from ayaki.localdomain ([124.169.108.102]) by mrelayeu.kundenserver.de (mreue102) with ESMTPSA (Nemesis) id 0MbhTh-1YFRtI1A4j-00J3zA; Thu, 04 Dec 2014 15:30:54 +0100 Message-ID: <54807016.8010904@2ndquadrant.com> Date: Thu, 04 Dec 2014 22:30:46 +0800 From: Craig Ringer Organization: 2nd Quadrant User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0 MIME-Version: 1.0 To: Heikki Linnakangas , Matt Newell , pgsql-hackers@postgresql.org Subject: Re: libpq pipelining References: <2059418.jZQvL3lH90@obsidian> <54802498.7020704@vmware.com> In-Reply-To: <54802498.7020704@vmware.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:8L2hrl30A6aFfu7KwmvM+Uu77CMW3mH2Hf2I+QI7KMNbVbP7iKO J0xIa8lkwbDFBee+0dowoG2chas+lBcQ8SvwBN01v9jEeMmfCD5nPHJAc8TWYaMY7VikPFF nxRSm2adU6nrv56i/c9s22uYsNmX1nLVk2VXVtXZZOafITQdxKfLVihxQEkAgBfMp2x56f9 u8Gf9UC0oATkcaOErBARQ== X-UI-Out-Filterresults: notjunk:1; X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 12/04/2014 05:08 PM, Heikki Linnakangas wrote: >> > > A good API is crucial for this. It should make it easy to write an > application that does pipelining, and to handle all the error conditions > in a predictable way. I'd suggest that you write the documentation > first, before writing any code, so that we can discuss the API. It > doesn't have to be in SGML format yet, a plain-text description of the > API will do. I strongly agree. Applications need to be able to reliably predict what will happen if there's an error in the middle of a pipeline. Consideration of implicit transactions (autocommit), the whole pipeline being one transaction, or multiple transactions is needed. Apps need to be able to wait for the result of a query partway through a pipeline, e.g. scheduling four queries, then waiting for the result of the 2nd. There are probably plenty of other wrinkly bits to think about. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers