Re: [BUGS] libpq++ update

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: tom(dot)vijlbrief(at)knoware(dot)nl
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: [BUGS] libpq++ update
Date: 2000-06-19 14:09:31
Message-ID: 200006191409.KAA25674@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Can someone comment on this? I still have the old libpq++ changes he
submitted for 7.0. We put some of them in, but skipped the rest because
it was too close to beta and there were some questions about the API
change.

> Bruce Momjian wrote:
> >
> > I think we only did bug fixes to libpq++, like your fix for *.h. I can
> > take your old patch and merge in the new changes that were not applied.
> >
>
> That would be nice. The C++ header file with the wrappers with exception
> handling is missing. I still think that the semantics of the old classes
> (most of all pglobject.cc) are broken.
>
> The new C++ header file fixes most of the problems, except for the
> pglobject
> class. If Tom Lane objects to fixing pglobject.cc than that
> is no major problem, because probably pglobject will not be used
> (I wonder who uses it anyway) when SOAP is operational,
> so that is not a real issue.
>
> So I would suggest adding least the additional header file and the new
> documentation
> and new example. These changes are 100% backwards compatible.
> You and Tom should decide on replacing pglobject.* with my
> implementation
> or leave it ontouched (I still can't think of a reason why the current
> problems
> shouldn't be fixed. Another option is to have two pglargeobject
> implementations,
> the original and mine with different naming, but that is confusing)
>
>
> For your memory: these are the problems with the current pglargeobject:
>
> (Quote from old mail)
>
> ========================================================================
> - Also PgLargeObject::Import was broken. The PgLargeObject
> constructor always creates a large object.
> But Import creates a new large object, so the sequence
>
> PgLargeObject lo(db);
> lo.Import("/tmp/file");
>
> will leak large objects !
>
> I made Import private and added a new constructor:
>
> PgLargeObject(const char *filename, PgDatabase &db);
>
> which initializes a new large object with the contents of
> the file. I also made Open() and Create() private...
> =========================================================================
>
> Bye
>
> Tom
>

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

Browse pgsql-hackers by date

  From Date Subject
Next Message Oleg Broytmann 2000-06-19 15:29:27 Built with PostgreSQL (images)
Previous Message Zeugswetter Andreas SB 2000-06-19 13:46:22 AW: OK, OK, Hiroshi's right: use a seperately-generated filename