From: Eugene Karpachov <jk@steel.orel.ru>
To: pgsql-interfaces@postgresql.org
Subject: Re: libpq++ updates
Date: Fri, 26 May 2000 08:57:11 +0400
Message-ID: <20000526085711.A3380@steel.orel.ru> (raw)
In-Reply-To: <Springmail.105.959201645.0.28277400@www.springmail.com>
References: <Springmail.105.959201645.0.28277400@www.springmail.com>
Wed, May 24, 2000 at 04:54:05PM -0400, dagraz@mindspring.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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: jk@steel.orel.ru
Subject: Re: libpq++ updates
In-Reply-To: <20000526085711.A3380@steel.orel.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox