Re: [INTERFACES] New user questions re libpq++

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Phil Romig <promig(at)acm(dot)org>
Cc: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] New user questions re libpq++
Date: 1998-10-18 23:55:45
Message-ID: 26838.908754945@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Phil Romig <promig(at)acm(dot)org> writes:
> I would appreciate some clarification regarding the C++ interface for
> postgres. I am using postgres-6.3.2.

> a) The man page does not seem to match the code at all. Is there a
> newer man page (I noticed a request for documentation in the archives
> but did not find a response).

Wouldn't surprise me --- libpq++ doesn't seem to have anyone taking
responsibility for it, so the documentation is probably suffering from
software rot. Reading the code is probably the best bet (although
if you cared to update the docs as you read, that would be much
appreciated...). There isn't *that* much to libpq++, it's just a rather
thin object-style wrapper for libpq. So you should definitely read the
libpq docs first to make sense of the code.

> b) Do I have the most up to date version of the pq++ library.

You have the latest official release. There are some bug fixes in
the current pre-6.4 beta releases, so you might care to try running
a beta copy instead.

> c) The header file c.h for libpq (which are included by libpq++) is
> interacting with the version of the GNU standard stream library which I
> have (gnu 2.8.x and egcs 1.0.2). The problem seems to be the prototype
> for the function char* form(...). Both stream.h and c.h prototype a
> function of with the same name and arguments. Is this a known problem,
> and is there a fix?

As of the 6.4 beta releases, libpq has been cleaned up so that including
libpq-fe.h doesn't import quite as much cruft; in particular c.h is not
included anymore. I think that that might fix your problem? I haven't
really tried to use libpq++ personally so can't be sure. If you try it
please report back.

> In the combined wisdom of the group should I (1) forget libpq++ and
> simply use libpq (2) use libpg++ or (3) take the trouble to install and
> learn ODBC?

(1) libpq++ is kind of an orphan right now, so you may (will) find rough
spots that need to be sanded off. If you are willing to fix problems
you come across then the Postgres group would gladly take back the
changes. If you don't want to get involved then it's hard to recommend
using libpq++.

(1a) Using libpq directly from C++ code is a very viable alternative.
I have several large apps that do it. (Well, actually, I use a couple
of homegrown C++ classes as wrappers on PGconn and PGresult, just to
have a more C++-like syntax for the function calls, but basically it's
libpq's API.)

(2) libpg++ ? I'm afraid I'm not sure what that is. Some outside
interface to PGSQL maybe, or just a typo? If it's some code I haven't
heard about, I'd be interested to know more.

(3) Haven't used ODBC so can't comment on this option.

regards, tom lane

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Peter T Mount 1998-10-19 05:44:13 Re: [INTERFACES] JDBC date problem
Previous Message Phil Romig 1998-10-18 23:02:00 New user questions re libpq++