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

pqxx::tablewriter Class Reference

Efficiently write data directly to a database table. More...

#include <tablewriter.hxx>

Inheritance diagram for pqxx::tablewriter:

pqxx::tablestream pqxx::internal::transactionfocus pqxx::internal::namedclass List of all members.

Public Types

typedef unsigned size_type

Public Member Functions

 tablewriter (transaction_base &, const PGSTD::string &WName, const PGSTD::string &Null=PGSTD::string())
template<typename ITER>
 tablewriter (transaction_base &, const PGSTD::string &WName, ITER begincolumns, ITER endcolumns, const PGSTD::string &Null=PGSTD::string())
 Write only the given sequence of columns.
 ~tablewriter () throw ()
template<typename IT>
void insert (IT Begin, IT End)
template<typename TUPLE>
void insert (const TUPLE &)
template<typename IT>
void push_back (IT Begin, IT End)
template<typename TUPLE>
void push_back (const TUPLE &)
void reserve (size_type)
template<typename TUPLE>
tablewriteroperator<< (const TUPLE &)
tablewriteroperator<< (tablereader &)
 Copy table from one database to another.
template<typename IT>
PGSTD::string generate (IT Begin, IT End) const
 Translate tuple of data to a string in DBMS-specific format.
template<typename TUPLE>
PGSTD::string generate (const TUPLE &) const
virtual void complete ()
 Finish stream action, check for errors, and detach from transaction.

Detailed Description

Efficiently write data directly to a database table.

A tablewriter provides a Spartan but efficient way of writing data tuples into a table. It provides a plethora of STL-like insertion methods: it has insert() methods, push_back(), as well as an overloaded insertion operator (<<), and it supports inserters created by std::back_inserter(). All of these are templatized so you can use any container type or iterator range to feed tuples into the table.

Note that in each case, a container or range represents the fields of a single tuple--not a collection of tuples.


Member Typedef Documentation

typedef unsigned pqxx::tablewriter::size_type
 


Constructor & Destructor Documentation

pqxx::tablewriter::tablewriter transaction_base ,
const PGSTD::string &  WName,
const PGSTD::string &  Null = PGSTD::string()
 

template<typename ITER>
pqxx::tablewriter::tablewriter transaction_base ,
const PGSTD::string &  WName,
ITER  begincolumns,
ITER  endcolumns,
const PGSTD::string &  Null = PGSTD::string()
 

Write only the given sequence of columns.

Since:
PostgreSQL backend 7.3.

pqxx::tablewriter::~tablewriter  )  throw ()
 


Member Function Documentation

void pqxx::tablewriter::complete  )  [virtual]
 

Finish stream action, check for errors, and detach from transaction.

It is recommended that you call this function before the tablestream's destructor is run. This function will check any final errors which may not become apparent until the transaction is committed otherwise.

As an added benefit, this will free up the transaction while the tablestream object itself still exists.

Implements pqxx::tablestream.

template<typename TUPLE>
PGSTD::string pqxx::tablewriter::generate const TUPLE &   )  const
 

template<typename IT>
PGSTD::string pqxx::tablewriter::generate IT  Begin,
IT  End
const
 

Translate tuple of data to a string in DBMS-specific format.

Warning:
This is definitely not portable between databases.

template<typename TUPLE>
void pqxx::tablewriter::insert const TUPLE &   ) 
 

template<typename IT>
void pqxx::tablewriter::insert IT  Begin,
IT  End
 

pqxx::tablewriter & pqxx::tablewriter::operator<< tablereader  ) 
 

Copy table from one database to another.

template<typename TUPLE>
tablewriter & pqxx::tablewriter::operator<< const TUPLE &   ) 
 

template<typename TUPLE>
void pqxx::tablewriter::push_back const TUPLE &   ) 
 

template<typename IT>
void pqxx::tablewriter::push_back IT  Begin,
IT  End
 

void pqxx::tablewriter::reserve size_type   ) 
 


The documentation for this class was generated from the following files:
Generated on Mon Nov 15 11:28:05 2004 for libpqxx by  doxygen 1.3.9.1