Re: Patches for libpq++

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: "J(dot) T(dot) Vermeulen" <jtv(at)cistron-office(dot)nl>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Patches for libpq++
Date: 2001-02-21 18:33:51
Message-ID: 200102211833.NAA27164@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(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

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bruce Momjian 2001-02-21 18:53:30 Re: Patches for libpq++
Previous Message J. T. Vermeulen 2001-02-21 17:55:01 Patches for libpq++