Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-interfaces by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group