X-Original-To: pgsql-interfaces-postgresql.org@localhost.postgresql.org Received: from localhost (neptune.hub.org [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 9AD63D1B45F for ; Mon, 22 Dec 2003 00:49:41 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 37119-08 for ; Sun, 21 Dec 2003 20:48:54 -0400 (AST) Received: from smtpzilla1.xs4all.nl (smtpzilla1.xs4all.nl [194.109.127.137]) by svr1.postgresql.org (Postfix) with ESMTP id B5DF1D1B453 for ; Sun, 21 Dec 2003 20:48:50 -0400 (AST) Received: from xs1.xs4all.nl (xs1.xs4all.nl [194.109.21.2]) by smtpzilla1.xs4all.nl (8.12.9/8.12.9) with ESMTP id hBM0mnTH042045; Mon, 22 Dec 2003 01:48:49 +0100 (CET) Received: from xs1.xs4all.nl (jtv@localhost.xs4all.nl [127.0.0.1]) by xs1.xs4all.nl (8.12.10/8.12.9) with ESMTP id hBM0mnxE013235; Mon, 22 Dec 2003 01:48:49 +0100 (CET) (envelope-from jtv@xs4all.nl) Received: (from jtv@localhost) by xs1.xs4all.nl (8.12.10/8.12.9/Submit) id hBM0mida013233; Mon, 22 Dec 2003 01:48:44 +0100 (CET) (envelope-from jtv) Date: Mon, 22 Dec 2003 01:48:44 +0100 From: "Jeroen T. Vermeulen" To: Carlos Moreno Cc: pgsql-interfaces@postgresql.org Subject: Re: C++ with PG 7.4? Message-ID: <20031222004843.GA12273@xs4all.nl> Mail-Followup-To: Carlos Moreno , pgsql-interfaces@postgresql.org References: <3FE61464.4050303@mailinator.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3FE61464.4050303@mailinator.com> User-Agent: Mutt/1.4.1i X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200312/45 X-Sequence-Number: 4654 On Sun, Dec 21, 2003 at 04:45:08PM -0500, Carlos Moreno wrote: > Also, are there any plans to re-include C++ client API as > part of the postgresql package? I don't mean to sound > ungrateful for everything that PostgreSQL offers, but I do > believe that removing C++ from the default distribution > was a great disservice to the community -- partly because > libpq++ does not even compile without some fine tuning > (well, programs written with it don't compile -- at least > on RedHat). There was some discussion about this, and in my view the upshot was something like this: it doesn't matter how useful any particular API may be, the package was just too large. So it's better to leave out all parts that are not essential (in the strict sense of the word) from the core product so people don't drown in the base archive. Having gotten the base archive, users can then pick & download whatever extras are useful to them--including an API library for their favourite language, of which they're likely to need only one or two each. Both libpq++ and its successor libpqxx were built on top of libpq, without any special knowledge of or access to its innards. Hence only libpq is an essential part of the package, whereas libpq++ and libpqxx are not intimately tied to the database from a technical point of view. AFAIK the same goes for several (most? all?) other language bindings. Finally, please reconsider what you say about libpq++. If it doesn't compile and there's nobody to do serious maintenance on it, why keep it bundled? Should an outdated interface be allowed to keep back the release cycle for the whole database? There isn't even a very tight coupling, so upgrading the database separately from the library shouldn't have too great an impact. Changes in error codes are not something you should need to worry about with a true C++ API; you won't find a single status return code in libpqxx, for instance. Jeroen