Namespaces: Keywords, MySQL, ODBC, SQLite
Classes: AbstractBinder, AbstractBinding, AbstractExtraction, AbstractExtractor, AbstractPreparation, AbstractPreparator, AbstractSessionImpl, AbstractTypeHandler, ArchiveByAgeStrategy, ArchiveStrategy, Binding, BindingException, Bulk, BulkBinding, BulkExtraction, Column, ConnectionFailedException, Connector, CopyBinding, DataException, Date, ExecutionException, ExtractException, Extraction, InternalBulkExtraction, InternalExtraction, LOB, LOBIOS, LOBInputStream, LOBOutputStream, LOBStreamBuf, LengthExceededException, Limit, LimitException, MetaColumn, NoDataException, NotConnectedException, NotSupportedException, PooledSessionHolder, PooledSessionImpl, Position, Preparation, Range, RecordSet, Row, RowDataMissingException, RowFilter, RowFormatter, RowIterator, SQLChannel, Session, SessionFactory, SessionImpl, SessionPool, SessionPoolContainer, SessionPoolExhaustedException, SessionPoolExistsException, SessionUnavailableException, SimpleRowFormatter, Statement, StatementCreator, StatementImpl, Time, Transaction, TypeHandler, UnknownDataBaseException, UnknownTypeException
Types: AbstractBindingDeq, AbstractBindingLst, AbstractBindingVec, AbstractExtractionDeq, AbstractExtractionDeqVec, AbstractExtractionLst, AbstractExtractionLstVec, AbstractExtractionVec, AbstractExtractionVecVec, AutoTransaction, BLOB, BLOB, BLOBInputStream, BLOBOutputStream, BulkFnType, CLOB, CLOB, CLOBInputStream, CLOBOutputStream, NullData
Functions: POCO_DATA_INVALID_ROW, operator <<, operator [], swap, tupleBind, tupleExtract, tuplePrepare
Interface for Binding data types to placeholders.
AbstractBinding connects a value with a placeholder via an AbstractBinder interface.
AbstractExtraction is the interface class that connects output positions to concrete values
retrieved via an AbstractExtractor.
Interface used to extract data from a single result row.
Interface for calling the appropriate AbstractPreparator method
Interface used for database preparation where we first have to register all data types
(and memory output locations) before extracting data, e.
A partial implementation of SessionImpl, providing
features and properties management.
Parent class for type handlers.
Archives rows scheduled for archiving.
The ArchiveStrategy is used by SQLChannel to archive log rows.
Binding maps a value or multiple values (see Binding specializations for STL containers as
well as type handlers) to database column(s).
A BulkBinding maps a value to a column.
Specialization for bulk extraction of values from a query result set.
Column class is column data container.
A Connector creates SessionImpl objects.
Binding maps a value or multiple values (see Binding specializations for STL containers as
well as type handlers) to database column(s).
Date class wraps a DateTime and exposes date related interface.
Concrete Data Type specific extraction of values from a query result set.
Container Data Type specialization extension for extraction of values from a query result set.
Vector Data Type specialization for extraction of values from a query result set.
Representation of a Large OBject.
The base class for LOBInputStream and
LOBOutputStream.
An input stream for reading from a LOB.
An output stream for writing to a LOB.
This is the streambuf class used for reading from and writing to a LOB.
Limit stores information how many rows a query should return.
MetaColumn class contains column metadata information.
This class is used by SessionPool to manage SessionImpl objects.
PooledSessionImpl is a decorator created by
SessionPool that adds session pool
management to SessionImpl objects.
Utility class wrapping unsigned integer.
Class for calling the appropriate AbstractPreparator method.
Range stores information how many rows a query should return.
RecordSet provides access to data returned from a query.
Row class provides a data type for RecordSet iteration purposes.
RowFilter class provides row filtering functionality.
Row formatter is an abstract class providing definition for row formatting functionality.
RowIterator class.
This Channel implements logging to a SQL database.
A Session holds a connection to a Database and creates Statement objects.
A SessionFactory is a singleton class that stores Connectors and allows to
create Sessions of the required type:
Session ses(SessionFactory::instance().
Interface for Session functionality that subclasses must extend.
This class implements session pooling for POCO Data.
This class implements container of session pools.
A simple row formatting class.
A Statement is used to execute SQL statements.
A StatementCreator creates Statements.
StatementImpl interface that subclasses must implement to define database dependent query execution.
Time class wraps a DateTime and exposes time related interface.
Transaction helps with transactions in domain logic.
Converts Rows to a Type and the other way around.
typedef std::deque < AbstractBinding::Ptr > AbstractBindingDeq;
typedef std::list < AbstractBinding::Ptr > AbstractBindingLst;
typedef std::vector < AbstractBinding::Ptr > AbstractBindingVec;
typedef std::deque < AbstractExtraction::Ptr > AbstractExtractionDeq;
typedef std::vector < AbstractExtractionDeq > AbstractExtractionDeqVec;
typedef std::list < AbstractExtraction::Ptr > AbstractExtractionLst;
typedef std::vector < AbstractExtractionLst > AbstractExtractionLstVec;
typedef std::vector < AbstractExtraction::Ptr > AbstractExtractionVec;
typedef std::vector < AbstractExtractionVec > AbstractExtractionVecVec;
typedef Transaction AutoTransaction;
typedef LOB < unsigned char > BLOB;
typedef LOB < unsigned char > BLOB;
typedef LOBInputStream < unsigned char > BLOBInputStream;
typedef LOBOutputStream < unsigned char > BLOBOutputStream;
typedef void (* BulkFnType)(Void);
typedef LOBInputStream < char > CLOBInputStream;
typedef LOBOutputStream < char > CLOBOutputStream;
static const std::size_t POCO_DATA_INVALID_ROW = std::numeric_limits < std::size_t >::max();
inline std::ostream & operator << (
std::ostream & os,
const RecordSet & rs
);
inlines
std::ostream & operator << (
std::ostream & os,
const Row & row
);
inlines
inline Poco::Dynamic::Var RecordSet::operator[] (
const std::string & name
);
inline Poco::Dynamic::Var RecordSet::operator[] (
std::size_t index
);
inline Poco::Dynamic::Var & Row::operator[] (
std::size_t col
);
inline Poco::Dynamic::Var & Row::operator[] (
const std::string & name
);
template < typename C > inline void swap(
Column < C > & c1,
Column < C > & c2
);
The std::vector<bool> specialization for the Column class.
This specialization is necessary due to the nature of std::vector<bool>. For details, see the standard library implementation of vector<bool> or S. Meyers: "Effective STL" (Copyright Addison-Wesley 2001), Item 18: "Avoid using vector<bool>."
The workaround employed here is using deque<bool> as an internal "companion" container kept in sync with the vector<bool> column data. Creates the Column. Creates the Column. Destroys the Column. Assignment operator. Swaps the column with another one. Returns reference to contained data. Returns the field value in specified row. Returns the field value in specified row. Returns number of rows. Clears and shrinks the storage. Returns column name. Returns column maximum length. Returns column precision. Valid for floating point fields only (zero for other data types). Returns column position. Returns column type. Returns iterator pointing to the beginning of data storage vector. Returns iterator pointing to the end of data storage vector. Column specialization for std::list Creates the Column. Creates the Column. Destroys the Column. Assignment operator. Swaps the column with another one. Returns reference to contained data. Returns the field value in specified row. This is the std::list specialization and std::list is not the optimal solution for cases where random access is needed. However, to allow for compatibility with other containers, this functionality is provided here. To alleviate the problem, an effort is made to start iteration from beginning or end, depending on the position requested. Returns the field value in specified row. Returns number of rows. Clears the storage. Returns column name. Returns column maximum length. Returns column precision. Valid for floating point fields only (zero for other data types). Returns column position. Returns column type. Returns iterator pointing to the beginning of data storage vector. Returns iterator pointing to the end of data storage vector.
template < typename T > inline void swap(
LOB < T > & b1,
LOB < T > & b2
);
inline void swap(
Session & s1,
Session & s2
);
inline void swap(
Statement & s1,
Statement & s2
);
template < typename TupleType, typename Type, int N > inline void tupleBind(
std::size_t & pos,
TupleType tuple,
AbstractBinder::Ptr pBinder,
AbstractBinder::Direction dir
);
Specialization of type handler for std::deque. Specialization of type handler for std::vector. Specialization of type handler for std::list. Specialization of type handler for Nullable. Poco::Tuple TypeHandler specializations
template < typename TupleType, typename DefValType, typename Type, int N > inline void tupleExtract(
std::size_t & pos,
TupleType tuple,
DefValType defVal,
AbstractExtractor::Ptr pExt
);
template < typename TupleType, typename Type, int N > inline void tuplePrepare(
std::size_t & pos,
TupleType tuple,
AbstractPreparator::Ptr pPreparator
);