Patches for libpq++

From: "J(dot) T(dot) Vermeulen" <jtv(at)cistron-office(dot)nl>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Patches for libpq++
Date: 2001-02-21 17:55:01
Message-ID: 20010221185501.D16178@cistron.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

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,

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bruce Momjian 2001-02-21 18:33:51 Re: Patches for libpq++
Previous Message Postgres The Best 2001-02-21 16:47:59 Re: FOR UPDATE is not allowed in this context