pqxx::result Class Reference

Query or command result set. More...

#include <result.hxx>

Inheritance diagram for pqxx::result:

Inheritance graph
[legend]
List of all members.

Public Types

typedef unsigned long size_type
typedef signed long difference_type
typedef tuple reference
typedef const_iterator pointer
typedef PGSTD::iterator< PGSTD::random_access_iterator_tag,
const tuple, result::difference_type,
const_iterator, tuple
const_iterator_base

Public Member Functions

 result () throw ()
 result (const result &rhs) throw ()
resultoperator= (const result &rhs) throw ()
const_reverse_iterator rbegin () const
const_reverse_iterator rend () const
const_iterator begin () const throw ()
const_iterator end () const throw ()
reference front () const throw ()
reference back () const throw ()
size_type size () const throw ()
bool empty () const throw ()
size_type capacity () const throw ()
void swap (result &) throw ()
const tuple operator[] (size_type i) const throw ()
const tuple at (size_type) const throw (PGSTD::out_of_range)
void clear () throw ()
const PGSTD::string & query () const throw ()
 Query that produced this result, if available (empty string otherwise).
oid inserted_oid () const
 If command was INSERT of 1 row, return oid of inserted row.
size_type affected_rows () const
 If command was INSERT, UPDATE, or DELETE: number of affected rows.
Comparisons
bool operator== (const result &) const throw ()
bool operator!= (const result &rhs) const throw ()
Column information
tuple::size_type columns () const throw ()
 Number of columns in result.
tuple::size_type column_number (const char ColName[]) const
 Number of given column (throws exception if it doesn't exist).
tuple::size_type column_number (const PGSTD::string &Name) const
 Number of given column (throws exception if it doesn't exist).
const char * column_name (tuple::size_type Number) const
 Name of column with this number (throws exception if it doesn't exist).
oid column_type (tuple::size_type ColNum) const
 Type of given column.
oid column_type (int ColNum) const
 Type of given column.
oid column_type (const PGSTD::string &ColName) const
 Type of given column.
oid column_type (const char ColName[]) const
 Type of given column.
oid column_table (tuple::size_type ColNum) const
 What table did this column come from? Requires PostgreSQL 7.4 C API.
oid column_table (int ColNum) const
 What table did this column come from? Requires PostgreSQL 7.4 C API.
oid column_table (const PGSTD::string &ColName) const
 What table did this column come from? Requires PostgreSQL 7.4 C API.
tuple::size_type table_column (tuple::size_type ColNum) const
 What column in its table did this column come from?
tuple::size_type table_column (int ColNum) const
 What column in its table did this column come from?
tuple::size_type table_column (const PGSTD::string &ColName) const
 What column in its table did this column come from?

Friends

class pqxx::result::field
class connection_base
class pipeline
class Cursor
class cursor_base

Classes

class  const_fielditerator
class  const_iterator
 Iterator for rows (tuples) in a query result set. More...
class  const_reverse_fielditerator
class  const_reverse_iterator
class  field
 Reference to a field in a result set. More...
class  tuple
 Reference to one row in a result. More...

Detailed Description

Query or command result set.

This behaves as a container (as defined by the C++ standard library) and provides random access const iterators to iterate over its tuples. A tuple can also be accessed by indexing a result R by the tuple's zero-based number:

        for (result::size_type i=0; i < R.size(); ++i) Process(R[i]);

Result sets in libpqxx are lightweight, reference-counted wrapper objects (following the Proxy design pattern) that are small and cheap to copy. Think of a result object as a "smart pointer" to an underlying result set.

Warning:
The result set that a result object points to is not thread-safe. If you copy a result object, it still refers to the same underlying result set. So never copy, destroy, query, or otherwise access a result while another thread may be copying, destroying, querying, or otherwise accessing the same result set--even if it is doing so through a different result object!


Member Typedef Documentation

typedef unsigned long pqxx::result::size_type

typedef signed long pqxx::result::difference_type

typedef tuple pqxx::result::reference

typedef const_iterator pqxx::result::pointer

typedef PGSTD::iterator<PGSTD::random_access_iterator_tag, const tuple, result::difference_type, const_iterator, tuple> pqxx::result::const_iterator_base


Constructor & Destructor Documentation

pqxx::result::result (  )  throw ()

pqxx::result::result ( const result rhs  )  throw ()


Member Function Documentation

result& pqxx::result::operator= ( const result rhs  )  throw ()

bool pqxx::result::operator== ( const result  )  const throw ()

bool pqxx::result::operator!= ( const result rhs  )  const throw ()

const_reverse_iterator pqxx::result::rbegin (  )  const

const_reverse_iterator pqxx::result::rend (  )  const

const_iterator pqxx::result::begin (  )  const throw ()

result::const_iterator pqxx::result::end (  )  const throw ()

reference pqxx::result::front (  )  const throw ()

reference pqxx::result::back (  )  const throw ()

pqxx::result::size_type pqxx::result::size (  )  const throw ()

bool pqxx::result::empty (  )  const throw ()

size_type pqxx::result::capacity (  )  const throw ()

void pqxx::result::swap ( result  )  throw ()

const tuple pqxx::result::operator[] ( size_type  i  )  const throw ()

const pqxx::result::tuple pqxx::result::at ( size_type   )  const throw (PGSTD::out_of_range)

void pqxx::result::clear (  )  throw ()

Reimplemented from pqxx::internal::PQAlloc< T >.

pqxx::result::tuple::size_type pqxx::result::columns (  )  const throw ()

Number of columns in result.

pqxx::result::tuple::size_type pqxx::result::column_number ( const char  ColName[]  )  const

Number of given column (throws exception if it doesn't exist).

tuple::size_type pqxx::result::column_number ( const PGSTD::string &  Name  )  const

Number of given column (throws exception if it doesn't exist).

const char * pqxx::result::column_name ( tuple::size_type  Number  )  const

Name of column with this number (throws exception if it doesn't exist).

pqxx::oid pqxx::result::column_type ( tuple::size_type  ColNum  )  const

Type of given column.

oid pqxx::result::column_type ( int  ColNum  )  const

Type of given column.

oid pqxx::result::column_type ( const PGSTD::string &  ColName  )  const

Type of given column.

oid pqxx::result::column_type ( const char  ColName[]  )  const

Type of given column.

oid pqxx::result::column_table ( tuple::size_type  ColNum  )  const

What table did this column come from? Requires PostgreSQL 7.4 C API.

Only defined if the libpqxx library was compiled against a libpq version that supports the PQftable function.

If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The PQftable function first became available in PostgreSQL 7.4.

oid pqxx::result::column_table ( int  ColNum  )  const

What table did this column come from? Requires PostgreSQL 7.4 C API.

Only defined if the libpqxx library was compiled against a libpq version that supports the PQftable function.

If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The PQftable function first became available in PostgreSQL 7.4.

oid pqxx::result::column_table ( const PGSTD::string &  ColName  )  const

What table did this column come from? Requires PostgreSQL 7.4 C API.

Only defined if the libpqxx library was compiled against a libpq version that supports the PQftable function.

If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The PQftable function first became available in PostgreSQL 7.4.

tuple::size_type pqxx::result::table_column ( tuple::size_type  ColNum  )  const

What column in its table did this column come from?

tuple::size_type pqxx::result::table_column ( int  ColNum  )  const

What column in its table did this column come from?

tuple::size_type pqxx::result::table_column ( const PGSTD::string &  ColName  )  const

What column in its table did this column come from?

const string & pqxx::result::query (  )  const throw ()

Query that produced this result, if available (empty string otherwise).

pqxx::oid pqxx::result::inserted_oid (  )  const

If command was INSERT of 1 row, return oid of inserted row.

Returns:
Identifier of inserted row if exactly one row was inserted, or oid_none otherwise.

pqxx::result::size_type pqxx::result::affected_rows (  )  const

If command was INSERT, UPDATE, or DELETE: number of affected rows.

Returns:
Number of affected rows if last command was INSERT, UPDATE, or DELETE; zero for all other commands.


Friends And Related Function Documentation

friend class pqxx::result::field [friend]

friend class connection_base [friend]

friend class pipeline [friend]

friend class Cursor [friend]

friend class cursor_base [friend]


The documentation for this class was generated from the following files:
Generated on Thu Feb 1 17:12:36 2007 for libpqxx by  doxygen 1.5.1