Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

pqxx::result Class Reference

Query or command result set. More...

#include <result.hxx>

Inheritance diagram for pqxx::result:

Inheritance graph
[legend]
Collaboration diagram for pqxx::result:

Collaboration 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 ()
bool operator== (const result &) const throw ()
bool operator!= (const result &rhs) const 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)
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.
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, return number of affected rows.

Friends

class pqxx::result::field
class connection_base
class pipeline
class 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 PGSTD::iterator<PGSTD::random_access_iterator_tag, const tuple, result::difference_type, const_iterator, tuple> pqxx::result::const_iterator_base
 

typedef signed long pqxx::result::difference_type
 

typedef const_iterator pqxx::result::pointer
 

typedef tuple pqxx::result::reference
 

typedef unsigned long pqxx::result::size_type
 


Constructor & Destructor Documentation

pqxx::result::result  )  throw ()
 

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


Member Function Documentation

size_type pqxx::result::affected_rows  )  const
 

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

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

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

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

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

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

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

Name of column with this number (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).

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

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

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.

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 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_type const char  ColName[]  )  const
 

Type of given column.

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

Type of given column.

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

Type of given column.

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

Type of given column.

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

Number of columns in result.

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

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

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

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.

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

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

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

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

const_reverse_iterator pqxx::result::rbegin  )  const
 

const_reverse_iterator pqxx::result::rend  )  const
 

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

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


Friends And Related Function Documentation

friend class connection_base [friend]
 

friend class Cursor [friend]
 

friend class pipeline [friend]
 

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


The documentation for this class was generated from the following file:
Generated on Fri Jul 1 14:36:21 2005 for libpqxx by  doxygen 1.4.2