Re: Patches for libpq++
От | Bruce Momjian |
---|---|
Тема | Re: Patches for libpq++ |
Дата | |
Msg-id | 200102211833.NAA27164@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Patches for libpq++ ("J. T. Vermeulen" <jtv@cistron-office.nl>) |
Список | pgsql-interfaces |
Thanks. I will include this in 7.2. 7.1 is frozen for changes, I think. > I'd like to suggest the following changes to bring libpq++ a bit more up to > date: > > - fixes include path in Makefile > - makes some member functions const > - flags (but does not fix) what looks like a memory leak and a warning > - changes int return type on ConnectionBad() to bool > > > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/examples/Makefile postgresql-7.0.3-jtv/src/interfaces/libpq++/examples/Makefile > --- postgresql-7.0.3/src/interfaces/libpq++/examples/Makefile Thu Mar 2 03:00:59 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/examples/Makefile Wed Feb 21 16:16:14 2001 > @@ -4,7 +4,8 @@ > > > LIBNAME= libpq++ > -HEADERDIR= /usr/local/pgsql/include > +#HEADERDIR= /usr/local/pgsql/include > +HEADERDIR=/usr/include/postgresql > LIBPQDIR= /usr/local/pgsql/lib > > > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/pgconnection.cc postgresql-7.0.3-jtv/src/interfaces/libpq++/pgconnection.cc > --- postgresql-7.0.3/src/interfaces/libpq++/pgconnection.cc Sun Apr 23 00:39:15 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/pgconnection.cc Wed Feb 21 17:16:51 2001 > @@ -67,7 +67,7 @@ > } > > // PgConnection::status -- return connection or result status > -ConnStatusType PgConnection::Status() > +ConnStatusType PgConnection::Status() const > { > return PQstatus(pgConn); > } > @@ -123,19 +123,19 @@ > > > > -int PgConnection::ConnectionBad() > +bool PgConnection::ConnectionBad() const > { > return Status() == CONNECTION_BAD; > } > > > -const char* PgConnection::ErrorMessage() > +const char* PgConnection::ErrorMessage() const > { > return (const char *)PQerrorMessage(pgConn); > } > > > -const char* PgConnection::DBName() > +const char* PgConnection::DBName() const > { > return (const char *)PQdb(pgConn); > } > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/pgconnection.h postgresql-7.0.3-jtv/src/interfaces/libpq++/pgconnection.h > --- postgresql-7.0.3/src/interfaces/libpq++/pgconnection.h Sun Apr 23 00:39:15 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/pgconnection.h Wed Feb 21 17:17:13 2001 > @@ -66,12 +66,12 @@ > virtual ~PgConnection(); // close connection and clean up > > // Connection status and error messages > - ConnStatusType Status(); > - int ConnectionBad(); > - const char* ErrorMessage(); > + ConnStatusType Status() const; > + bool ConnectionBad() const; > + const char* ErrorMessage() const; > > // returns the database name of the connection > - const char* DBName(); > + const char* DBName() const; > > // Query Execution interface > ExecStatusType Exec(const char* query); // send a query to the backend > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/pgdatabase.cc postgresql-7.0.3-jtv/src/interfaces/libpq++/pgdatabase.cc > --- postgresql-7.0.3/src/interfaces/libpq++/pgdatabase.cc Sat Jan 29 17:58:52 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/pgdatabase.cc Wed Feb 21 17:41:51 2001 > @@ -45,6 +45,8 @@ > > po.align = width; > > + // TODO: Looks like memory leak > + // TODO: Looks like PQprintOpt::fieldSep should be const char * > if(terseOutput) po.fieldSep = strdup("|"); > else po.fieldSep = ""; > > @@ -150,15 +152,15 @@ > } > > > -int PgDatabase::GetLine(char* string, int length) > +int PgDatabase::GetLine(char str[], int length) > { > -return PQgetline(pgConn, string, length); > +return PQgetline(pgConn, str, length); > } > > > -void PgDatabase::PutLine(const char* string) > +void PgDatabase::PutLine(const char str[]) > { > -PQputline(pgConn, string); > +PQputline(pgConn, str); > } > > > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/pgdatabase.h postgresql-7.0.3-jtv/src/interfaces/libpq++/pgdatabase.h > --- postgresql-7.0.3/src/interfaces/libpq++/pgdatabase.h Sun Apr 23 00:39:15 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/pgdatabase.h Wed Feb 21 17:37:36 2001 > @@ -63,8 +63,8 @@ > int terseOutput = 0, int width = 0) ; > > // copy command related access > - int GetLine(char* string, int length); > - void PutLine(const char* string); > + int GetLine(char str[], int length); > + void PutLine(const char str[]); > const char* OidStatus(); > int EndCopy(); > > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/pglobject.cc postgresql-7.0.3-jtv/src/interfaces/libpq++/pglobject.cc > --- postgresql-7.0.3/src/interfaces/libpq++/pglobject.cc Sun Apr 23 00:39:15 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/pglobject.cc Wed Feb 21 17:19:56 2001 > @@ -142,7 +142,7 @@ > } > > > -int PgLargeObject::Tell() > +int PgLargeObject::Tell() const > { > return lo_tell(pgConn, pgFd); > } > @@ -160,7 +160,7 @@ > } > > > -string PgLargeObject::Status() > +string PgLargeObject::Status() const > { > return loStatus; > } > diff -u -r postgresql-7.0.3/src/interfaces/libpq++/pglobject.h postgresql-7.0.3-jtv/src/interfaces/libpq++/pglobject.h > --- postgresql-7.0.3/src/interfaces/libpq++/pglobject.h Sun Apr 23 00:39:15 2000 > +++ postgresql-7.0.3-jtv/src/interfaces/libpq++/pglobject.h Wed Feb 21 17:19:50 2001 > @@ -47,12 +47,12 @@ > int Read(char* buf, int len); > int Write(const char* buf, int len); > int LSeek(int offset, int whence); > - int Tell(); > + int Tell() const; > int Unlink(); > Oid LOid(); > Oid Import(const char* filename); > int Export(const char* filename); > - string Status(); > + string Status() const; > > private: > // We don't support copying of PgLargeObject objects, > -- 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, Pennsylvania19026
В списке pgsql-interfaces по дате отправления: