Re: libpq++ updates

Поиск
Список
Период
Сортировка
От Eugene Karpachov
Тема Re: libpq++ updates
Дата
Msg-id 20000526085711.A3380@steel.orel.ru
обсуждение исходный текст
Ответ на libpq++ updates  (dagraz@mindspring.com)
Список pgsql-interfaces
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


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Postmaster is getting bigger
Следующее
От: Max Khon
Дата:
Сообщение: Re: importing from other dbases