libpq++ fixes

Started by Neil Conwayabout 24 years ago13 messagespatches
Jump to latest
#1Neil Conway
neilc@samurai.com

This patch fixes a few minor problems with libpq++: remove the deprecated
PQExec(" ") in the wrapper around PQnotifies(), fix the Makefile for
the examples so that they will actually compile properly (with the
exception of #5, which depends on internal headers), make a minor change
to libpq++.h so that "make examples" now works on my machine, update
some documentation, fix some grammatical problems, and remove some of
the more hideous comments.

I plan on doing some more work on libpq++ in the future -- this patch just
consists of the necessary code to get the examples to compile on my machine,
plus corrections for any of the minor things I noticed on the way through.

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

Attachments:

libpq++.patchapplication/octet-stream; name=libpq++.patchDownload+103-101
In reply to: Neil Conway (#1)
Re: libpq++ fixes

On Sat, May 18, 2002 at 06:57:25PM -0400, Neil Conway wrote:

I plan on doing some more work on libpq++ in the future -- this patch just
consists of the necessary code to get the examples to compile on my machine,
plus corrections for any of the minor things I noticed on the way through.

You may also want to take a look at libpqxx, which was written to replace
libpq++. It's been pretty solid so far, and it gets rid of a lot of the
design limitations of libpq++. IMHO trying to fix libpq++ will not get
around all of its problems, which is why I rewrote libpqxx from scratch.
The code has proven pretty solid so far.

You'll find libpqxx at

http://members.ams.chello.nl/j.vermeulen31/proj-libpqxx.html

Jeroen

#3Neil Conway
neilc@samurai.com
In reply to: Jeroen T. Vermeulen (#2)
Re: libpq++ fixes

On Sun, 19 May 2002 05:35:12 +0200
"jtv" <jtv@xs4all.nl> wrote:

On Sat, May 18, 2002 at 06:57:25PM -0400, Neil Conway wrote:

I plan on doing some more work on libpq++ in the future -- this patch just
consists of the necessary code to get the examples to compile on my machine,
plus corrections for any of the minor things I noticed on the way through.

You may also want to take a look at libpqxx, which was written to replace
libpq++.

Wow, looks great!

The website mentions your intention to get this code integrated into
the PostgreSQL tree -- when would you like to see this happen? I'd
definately vote in favour of it.

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

In reply to: Neil Conway (#3)
Re: libpq++ fixes

On Sun, May 19, 2002 at 01:02:27AM -0400, Neil Conway wrote:

The website mentions your intention to get this code integrated into
the PostgreSQL tree -- when would you like to see this happen? I'd
definately vote in favour of it.

I would _like_ to do it straight away, but I've set myself one more
milestone--a real-world application needs to be ported, to prove that
libpqxx can survive more than a mere regression test. The idea is to
make this a dependable piece of code from day one.

Unfortunately I haven't had a lot of time to get the application I
wanted to port back into a compilable state on my platform (somebody
working on IPv6 support accidentally introduced a bunch of Solaris
function calls). So I'm currently hoping for either the news that
some other application has been written / ported to use libpqxx, or
the time to do it myself.

Jeroen

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Neil Conway (#1)
Re: libpq++ fixes

Neil Conway writes:

This patch fixes a few minor problems with libpq++: remove the deprecated
PQExec(" ") in the wrapper around PQnotifies(), fix the Makefile for
the examples so that they will actually compile properly (with the
exception of #5, which depends on internal headers), make a minor change
to libpq++.h so that "make examples" now works on my machine, update
some documentation, fix some grammatical problems, and remove some of
the more hideous comments.

Unfortunately, replacing #include <header.h> with #include <header> is
going to break a bunch of other platforms.

As for the formatting changes, maybe we should run pgindent over those
files. It seems it has never been done.

--
Peter Eisentraut peter_e@gmx.net

#6Neil Conway
neilc@samurai.com
In reply to: Peter Eisentraut (#5)
Re: libpq++ fixes

On Sun, 19 May 2002 17:14:23 +0200 (CEST)
"Peter Eisentraut" <peter_e@gmx.net> wrote:

Neil Conway writes:

This patch fixes a few minor problems with libpq++: remove the deprecated
PQExec(" ") in the wrapper around PQnotifies(), fix the Makefile for
the examples so that they will actually compile properly (with the
exception of #5, which depends on internal headers), make a minor change
to libpq++.h so that "make examples" now works on my machine, update
some documentation, fix some grammatical problems, and remove some of
the more hideous comments.

Unfortunately, replacing #include <header.h> with #include <header> is
going to break a bunch of other platforms.

Really? Which ones?

As for the formatting changes, maybe we should run pgindent over those
files. It seems it has never been done.

Yeah -- I was going to suggest that. But given how hideous most of
the libpq++ code is, and the availibility of a replacement for it
(see libpqxx), I'm not sure if it's worth the bother...

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Neil Conway (#6)
Re: libpq++ fixes

Neil Conway <nconway@klamath.dyndns.org> writes:

"Peter Eisentraut" <peter_e@gmx.net> wrote:

As for the formatting changes, maybe we should run pgindent over those
files. It seems it has never been done.

Yeah -- I was going to suggest that.

I think the reason Bruce doesn't do that is that pgindent doesn't know
anything about C++.

regards, tom lane

#8Neil Conway
neilc@samurai.com
In reply to: Neil Conway (#6)
Re: libpq++ fixes

On Sun, 19 May 2002 11:21:18 -0400
"Neil Conway" <nconway@klamath.dyndns.org> wrote:

On Sun, 19 May 2002 17:14:23 +0200 (CEST)
"Peter Eisentraut" <peter_e@gmx.net> wrote:

Unfortunately, replacing #include <header.h> with #include <header> is
going to break a bunch of other platforms.

Really? Which ones?

In any case, I've attached a revised patch with #include <cppheader> changed
back to #include <cppheader.h>

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

Attachments:

libpq++_fixes-2.patchapplication/octet-stream; name=libpq++_fixes-2.patchDownload+81-79
#9Bruce Momjian
bruce@momjian.us
In reply to: Neil Conway (#8)
Re: libpq++ fixes

Your patch has been added to the PostgreSQL unapplied patches list at:

http://candle.pha.pa.us/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---------------------------------------------------------------------------

Neil Conway wrote:

On Sun, 19 May 2002 11:21:18 -0400
"Neil Conway" <nconway@klamath.dyndns.org> wrote:

On Sun, 19 May 2002 17:14:23 +0200 (CEST)
"Peter Eisentraut" <peter_e@gmx.net> wrote:

Unfortunately, replacing #include <header.h> with #include <header> is
going to break a bunch of other platforms.

Really? Which ones?

In any case, I've attached a revised patch with #include <cppheader> changed
back to #include <cppheader.h>

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#10Bruce Momjian
bruce@momjian.us
In reply to: Neil Conway (#8)
Re: libpq++ fixes

Patch applied:

This patch fixes a few minor problems with libpq++: remove the deprecated
PQExec(" ") in the wrapper around PQnotifies(), fix the Makefile for
the examples so that they will actually compile properly (with the
exception of #5, which depends on internal headers), make a minor change
to libpq++.h so that "make examples" now works on my machine, update
some documentation, fix some grammatical problems, and remove some of
the more hideous comments.

Neil Conway

---------------------------------------------------------------------------

Neil Conway wrote:

On Sun, 19 May 2002 11:21:18 -0400
"Neil Conway" <nconway@klamath.dyndns.org> wrote:

On Sun, 19 May 2002 17:14:23 +0200 (CEST)
"Peter Eisentraut" <peter_e@gmx.net> wrote:

Unfortunately, replacing #include <header.h> with #include <header> is
going to break a bunch of other platforms.

Really? Which ones?

In any case, I've attached a revised patch with #include <cppheader> changed
back to #include <cppheader.h>

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#11Bruce Momjian
bruce@momjian.us
In reply to: Neil Conway (#1)
Re: libpq++ fixes

(Oops, sent it to the wrong thread last time.)

If on one is has outstanding libpq++ patches, I will run libpq++ through
my new tools src/tools/pgindent/pgcppindent. It uses astyle. I can
also wait for 7.3 beta and run it then.

Sample changes attached.

---------------------------------------------------------------------------

Neil Conway wrote:

This patch fixes a few minor problems with libpq++: remove the deprecated
PQExec(" ") in the wrapper around PQnotifies(), fix the Makefile for
the examples so that they will actually compile properly (with the
exception of #5, which depends on internal headers), make a minor change
to libpq++.h so that "make examples" now works on my machine, update
some documentation, fix some grammatical problems, and remove some of
the more hideous comments.

I plan on doing some more work on libpq++ in the future -- this patch just
consists of the necessary code to get the examples to compile on my machine,
plus corrections for any of the minor things I noticed on the way through.

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Attachments:

/bjm/difftext/plainDownload+138-137
In reply to: Bruce Momjian (#11)
Re: libpq++ fixes

On Sat, Jun 15, 2002 at 03:16:19PM -0400, Bruce Momjian wrote:

If on one is has outstanding libpq++ patches, I will run libpq++ through
my new tools src/tools/pgindent/pgcppindent. It uses astyle. I can
also wait for 7.3 beta and run it then.

Which reminds me--is it a problem for me to maintain my own indentation
style in libpqxx?

Jeroen

#13Bruce Momjian
bruce@momjian.us
In reply to: Jeroen T. Vermeulen (#12)
Re: libpq++ fixes

jtv wrote:

On Sat, Jun 15, 2002 at 03:16:19PM -0400, Bruce Momjian wrote:

If on one is has outstanding libpq++ patches, I will run libpq++ through
my new tools src/tools/pgindent/pgcppindent. It uses astyle. I can
also wait for 7.3 beta and run it then.

Which reminds me--is it a problem for me to maintain my own indentation
style in libpqxx?

It is up to you. If you want to, go ahead. We only auto-indent stuff
that needs consistent indenting. If you already have that, and want to
maintain it, you are welcome.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026