Re: libpq++ updates

From: Eugene Karpachov <jk(at)steel(dot)orel(dot)ru>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: libpq++ updates
Date: 2000-05-26 04:57:11
Message-ID: 20000526085711.A3380@steel.orel.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Wed, May 24, 2000 at 04:54:05PM -0400, dagraz(at)mindspring(dot)com пишет:
> There are a couple of changes I would like to make to libpq++,
> but I thought I would write first to check

> a) add string overloads to the methods accepting char*'s

Are you mean somefun(const char *) --> somefun(string) or
somefun(const string &) ? It would be useful, with 'string' from STL.
But it will force class users to use STL :(.

>
> c) Move PgConnection::Connect and PgConnection::PgConnection()
> from the protected to the public interface.
>
> Any reasons why this would be undesirable?

The only reason is that: less public members is better. If you really need,
for example, PgConnection::Connect() in your program, you can derive
class from PgConnection or PgDatabase and use the protected member in derived
class methods. These protected members have almost no use for 'public users'.

> any thoughts will be appreciated,

Maybe some methods like ExecTuplesOk, ExecCommandOk should emit exceptions?
Something derived from standard class 'exception', like

#include <exception>
class PGerror : public exception
{
private:
string err; // or, maybe, 'const char *err' if you don't like STL
public:
PGerror(PgDatabase *db) : err(db->ErrorMessage()) {}
virtual const char *what() const { return err.c_str(); }
};

--
jk

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Max Khon 2000-05-26 05:37:50 Re: importing from other dbases
Previous Message Steffers 2000-05-26 03:55:34 Plpgsql functions and Variable Tablenames