Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6]) by hub.org (8.8.8/8.7.5) with ESMTP id KAA00198; Wed, 29 Apr 1998 10:50:56 -0400 (EDT) Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.sss.pgh.pa.us (8.8.5/8.8.5) with ESMTP id KAA08694; Wed, 29 Apr 1998 10:50:29 -0400 (EDT) To: watts@humbug.antnet.com cc: pgsql-hackers@postgreSQL.org, pgsql-interfaces@postgreSQL.org Subject: Re: [HACKERS] Re: [INTERFACES] Revised proposal for libpq and FE/BE protocol changes In-reply-to: Your message of Tue, 28 Apr 1998 15:53:24 -0500 <199804282053.PAA21962@humbug.antnet.com> Date: Wed, 29 Apr 1998 10:50:28 -0400 Message-ID: <8692.893861428@sss.pgh.pa.us> From: Tom Lane watts@humbug.antnet.com writes: > I suggest the application already has fork or fork/exec to > implement an asynchronous design. True, if you don't mind assuming you have threads then you could dedicate one thread to blocking in libpq while your other threads manage your user interface and so forth. But most of these revisions would still be useful in that situation. The current libpq does not cope well with query strings containing multiple commands; it doesn't cope at all with queries that return more than one type of tuple; it requires dummy queries (wasting both processing time and network bandwidth) to check for NOTIFY messages; and so forth. None of those problems can be solved just by moving calls to libpq into a separate thread. regards, tom lane