Patches for libpq++ - Mailing list pgsql-interfaces

From J. T. Vermeulen
Subject Patches for libpq++
Date
Msg-id 20010221185501.D16178@cistron.nl
Whole thread Raw
Responses Re: Patches for libpq++  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Patches for libpq++  (Bruce Momjian <pgman@candle.pha.pa.us>)
List 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
leakand 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/postgresqlLIBPQDIR= /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
anderror 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
queryto 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("|");
elsepo.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,


pgsql-interfaces by date:

Previous
From: "Postgres The Best"
Date:
Subject: Re: FOR UPDATE is not allowed in this context
Next
From: Bruce Momjian
Date:
Subject: Re: Patches for libpq++