From a79b698adbc97fabc17a8c9a60a81cb3c2f93210 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 9 May 2001 17:29:10 +0000 Subject: Here's a version of my suggested diffs transplanted to 7.1 beta 5. I'm still looking at the best way to integrate Tom Vijlbrief's fixes (insofar as they're still needed); would 7.2 be a suitable time for incompatible API changes? Jeroen Changes: (*) Introduced bool, true, false (replacing some int, 1, 0) (*) Made some member functions const (*) Documented GetIsNull() (*) Marked DisplayTuples() and PrintTuples() as obsolescent; fixed possible portability problem (assumed that NULL pointer equals all-zero bit pattern) (*) PrintTuples(): renamed width parameter to fillAlign to conform with other usage; fixed memory leak and compile issue w.r.t. field separator (should also slightly improve performance) (*) Fixed some minor compilation issues (*) Moved "using namespace std;" out of headers, where they didn't belong; used new (temporary) preprocessor macro PGSTD to do this (*) Made ToString() static, removed unneeded memset(), made buffer size adapt to sizeof(int) (*) Made some constructors explicit (*) Changed some const std::string & parameters to plain std::string (*) Marked PgCursor::Cursor(std::string) as obsolescent (setter with same name as getter--bad style) (*) Renamed some paramaters previously named "string" (*) Introduced size_type typedef for number of tuples in result set (*) PgTransaction now supports re-opening after closing, and aborts if not explicitly committed prior to destruction J. T. Vermeulen --- doc/src/sgml/libpq++.sgml | 70 +++++++++++++++++++++++++++--------------- doc/src/sgml/ref/psql-ref.sgml | 12 +++++++- 2 files changed, 57 insertions(+), 25 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/libpq++.sgml b/doc/src/sgml/libpq++.sgml index ad782013a35..d4b53557ddc 100644 --- a/doc/src/sgml/libpq++.sgml +++ b/doc/src/sgml/libpq++.sgml @@ -1,5 +1,5 @@ @@ -227,9 +227,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: returns whether or not the connection to the backend server succeeded or failed. - int PgConnection::ConnectionBad() + bool PgConnection::ConnectionBad() const - Returns TRUE if the connection failed. + Returns true if the connection failed. @@ -368,7 +368,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Tuples Returns the number of tuples (rows) in the query result. - int PgDatabase::Tuples() + int PgDatabase::Tuples() const @@ -387,7 +387,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns the field (attribute) name associated with the given field index. Field indices start at 0. - const char *PgDatabase::FieldName(int field_num) + const char *PgDatabase::FieldName(int field_num) const @@ -397,7 +397,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: PQfnumber Returns the field (attribute) index associated with the given field name. - int PgDatabase::FieldNum(const char* field_name) + int PgDatabase::FieldNum(const char* field_name) const -1 is returned if the given name does not match any field. @@ -409,7 +409,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: integer returned is an internal coding of the type. Field indices start at 0. - Oid PgDatabase::FieldType(int field_num) + Oid PgDatabase::FieldType(int field_num) const @@ -420,7 +420,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: integer returned is an internal coding of the type. Field indices start at 0. - Oid PgDatabase::FieldType(const char* field_name) + Oid PgDatabase::FieldType(const char* field_name) const @@ -430,7 +430,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns the size in bytes of the field associated with the given field index. Field indices start at 0. - short PgDatabase::FieldSize(int field_num) + short PgDatabase::FieldSize(int field_num) const Returns the space allocated for this field in a database tuple given the field number. In other words the size of the server's binary @@ -444,7 +444,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns the size in bytes of the field associated with the given field index. Field indices start at 0. - short PgDatabase::FieldSize(const char *field_name) + short PgDatabase::FieldSize(const char *field_name) const Returns the space allocated for this field in a database tuple given the field name. In other words the size of the server's binary @@ -466,7 +466,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns a single field (attribute) value of one tuple of a PGresult. Tuple and field indices start at 0. - const char *PgDatabase::GetValue(int tup_num, int field_num) + const char *PgDatabase::GetValue(int tup_num, int field_num) const For most queries, the value returned by GetValue is a null-terminated ASCII string representation of the attribute value. But if BinaryTuples() @@ -486,7 +486,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns a single field (attribute) value of one tuple of a PGresult. Tuple and field indices start at 0. - const char *PgDatabase::GetValue(int tup_num, const char *field_name) + const char *PgDatabase::GetValue(int tup_num, const char *field_name) const For most queries, the value returned by GetValue is a null-terminated ASCII string representation of the attribute value. But if BinaryTuples() @@ -506,7 +506,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns the length of a field (attribute) in bytes. Tuple and field indices start at 0. - int PgDatabase::GetLength(int tup_num, int field_num) + int PgDatabase::GetLength(int tup_num, int field_num) const This is the actual data length for the particular data value, that is the size of the object pointed to by GetValue. Note that for @@ -520,7 +520,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns the length of a field (attribute) in bytes. Tuple and field indices start at 0. - int PgDatabase::GetLength(int tup_num, const char* field_name) + int PgDatabase::GetLength(int tup_num, const char* field_name) const This is the actual data length for the particular data value, that is the size of the object pointed to by GetValue. Note that for @@ -528,25 +528,47 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: size reported by PQfsize. + + + GetIsNull + Returns whether a field has the null value. + + bool GetIsNull(int tup_num, int field_num) const + + Note that GetValue will return the empty string for null fields, not + the NULL pointer. + + + + + GetIsNull + Returns whether a field has the null value. + + bool GetIsNull(int tup_num, const char *field_name) const + + Note that GetValue will return the empty string for null fields, not + the NULL pointer. + + DisplayTuples - Prints out all the tuples and, optionally, the attribute names to the + OBSOLESCENT: Prints out all the tuples and, optionally, the attribute names to the specified output stream. - void PgDatabase::DisplayTuples(FILE *out = 0, int fillAlign = 1, - const char* fieldSep = "|",int printHeader = 1, int quiet = 0) + void PgDatabase::DisplayTuples(FILE *out = 0, bool fillAlign = true, + const char* fieldSep = "|",bool printHeader = true, bool quiet = false) const PrintTuples - Prints out all the tuples and, optionally, the attribute names to the + OBSOLESCENT: Prints out all the tuples and, optionally, the attribute names to the specified output stream. - void PgDatabase::PrintTuples(FILE *out = 0, int printAttName = 1, - int terseOutput = 0, int width = 0) + void PgDatabase::PrintTuples(FILE *out = 0, bool printAttName = true, + bool terseOutput = false, bool fillAlign = false) const @@ -563,7 +585,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: Returns the number of rows affected after an INSERT, UPDATE or DELETE. If the command was anything else, it returns -1. - int PgDatabase::CmdTuples() + int PgDatabase::CmdTuples() const @@ -572,7 +594,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: OidStatus - const char *PgDatabase::OidStatus() + const char *PgDatabase::OidStatus() const @@ -650,8 +672,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/libpq++.sgml,v 1.28 2001/05/01 10:48: to see if any notification data is currently available from the backend. PgDatabase::Notifies returns the notification from a list of unhandled notifications from the - backend. The function eturns NULL if there is no pending notifications from the - backend. + backend. The function returns NULL if there are no pending notifications + from the backend. PgDatabase::Notifies behaves like the popping of a stack. Once a notification is returned from PgDatabase::Notifies, diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index c1f405f3f3e..a5a1dc8ac00 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -494,6 +494,16 @@ testdb=> + + \du [ pattern ] + + + Lists all configured users or only those that match pattern. + + + + + \edit (or \e) [ filename ] -- cgit v1.2.3