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 std::iterator
< std::random_access_iterator_tag,
const tuple,
result::difference_type,
const_iterator, tuple
const_iterator_base
typedef const_iterator iterator
typedef const_reverse_iterator reverse_iterator

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 (range_error)
void clear () throw ()
const std::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 std::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 std::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 std::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 std::string &ColName) const
 What column in its table did this column come from?

Package Attributes

 __pad0__:PQAlloc< const internal::result_data
 __pad1__:freemem_result_data> super

Friends

class pqxx::result::field
class pqxx::internal::gate::result_creation
class pqxx::internal::gate::result_connection
class pqxx::internal::gate::result_sql_cursor

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 std ::iterator< std ::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 rhs  )  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 ()

References size().

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 rhs  )  throw ()

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

Referenced by at().

const pqxx::result::tuple pqxx::result::at ( size_type  i  )  const throw (range_error)

References operator[](), and size().

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

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).

Referenced by pqxx::result::tuple::column_number().

tuple::size_type pqxx::result::column_number ( const std::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).

References pqxx::to_string().

Referenced by pqxx::result::tuple::column_number().

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

Type of given column.

References pqxx::oid_none, and pqxx::to_string().

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

Type of given column.

oid pqxx::result::column_type ( const std::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 std::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 std::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.

Referenced by pqxx::internal::sql_cursor::move().


Friends And Related Function Documentation

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

friend class pqxx::internal::gate::result_creation [friend]

friend class pqxx::internal::gate::result_connection [friend]

friend class pqxx::internal::gate::result_sql_cursor [friend]


Member Data Documentation


The documentation for this class was generated from the following files:

Generated on Mon Feb 15 18:22:52 2010 for libpqxx by  doxygen 1.5.5