# Poco::Data

# class AbstractPreparator

Library: Data
Package: DataCore
Header: Poco/Data/AbstractPreparator.h

## Description

Interface used for database preparation where we first have to register all data types (and memory output locations) before extracting data, e.g. ODBC. Extract works as two-phase extract: first we call prepare once, then extract n-times. There are cases (bulk operations using std::vector storage) when extract is called only once. The value passed to a prepare() call is not used by the prepare, serving only as an indication of the data type being prepared, thus all values are passed as const references. Implementing this interface is not mandatory for a connector. Connectors that only extract data after SQL execution (e.g. SQLite) do not need this functionality at all.

## Inheritance

Known Derived Classes: Poco::Data::ODBC::Preparator

## Member Summary

Member Functions: getLength, isBulk, prepare, setBulk, setLength

## Types Aliases

### Ptr

using Ptr = SharedPtr < AbstractPreparator >;

## Constructors

### AbstractPreparator

AbstractPreparator(
Poco::UInt32 length = 1u
);

Creates the AbstractPreparator.

## Destructor

### ~AbstractPreparator

virtual ~AbstractPreparator();

Destroys the AbstractPreparator.

## Member Functions

### getLength

Poco::UInt32 getLength() const;

Returns the length of prepared data. Defaults to 1. The length is greater than one for bulk operations.

### isBulk

bool isBulk() const;

Returns bulk operation flag.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::Int8 & param50
) = 0;

Prepares an Int8.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::Int8 > & val
);

Prepares an Int8 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::Int8 > & val
);

Prepares an Int8 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::Int8 > & val
);

Prepares an Int8 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::UInt8 & param51
) = 0;

Prepares an UInt8.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::UInt8 > & val
);

Prepares an UInt8 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::UInt8 > & val
);

Prepares an UInt8 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::UInt8 > & val
);

Prepares an UInt8 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::Int16 & param52
) = 0;

Prepares an Int16.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::Int16 > & val
);

Prepares an Int16 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::Int16 > & val
);

Prepares an Int16 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::Int16 > & val
);

Prepares an Int16 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::UInt16 & param53
) = 0;

Prepares an UInt16.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::UInt16 > & val
);

Prepares an UInt16 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::UInt16 > & val
);

Prepares an UInt16 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::UInt16 > & val
);

Prepares an UInt16 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::Int32 & param54
) = 0;

Prepares an Int32.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::Int32 > & val
);

Prepares an Int32 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::Int32 > & val
);

Prepares an Int32 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::Int32 > & val
);

Prepares an Int32 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::UInt32 & param55
) = 0;

Prepares an UInt32.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::UInt32 > & val
);

Prepares an UInt32 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::UInt32 > & val
);

Prepares an UInt32 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::UInt32 > & val
);

Prepares an UInt32 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::Int64 & param56
) = 0;

Prepares an Int64.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::Int64 > & val
);

Prepares an Int64 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::Int64 > & val
);

Prepares an Int64 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::Int64 > & val
);

Prepares an Int64 list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::UInt64 & param57
) = 0;

Prepares an UInt64.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::UInt64 > & val
);

Prepares an UInt64 vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::UInt64 > & val
);

Prepares an UInt64 deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::UInt64 > & val
);

Prepares an UInt64 list.

### prepare

virtual void prepare(
std::size_t pos,
const bool & param58
) = 0;

Prepares a boolean.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < bool > & val
);

Prepares a boolean vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < bool > & val
);

Prepares a boolean deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < bool > & val
);

Prepares a boolean list.

### prepare

virtual void prepare(
std::size_t pos,
const float & param59
) = 0;

Prepares a float.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < float > & val
);

Prepares a float vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < float > & val
);

Prepares a float deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < float > & val
);

Prepares a float list.

### prepare

virtual void prepare(
std::size_t pos,
const double & param60
) = 0;

Prepares a double.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < double > & val
);

Prepares a double vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < double > & val
);

Prepares a double deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < double > & val
);

Prepares a double list.

### prepare

virtual void prepare(
std::size_t pos,
const char & param61
) = 0;

Prepares a single character.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < char > & val
);

Prepares a character vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < char > & val
);

Prepares a character deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < char > & val
);

Prepares a character list.

### prepare

virtual void prepare(
std::size_t pos,
const std::string & param62
) = 0;

Prepares a string.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < std::string > & val
);

Prepares a string vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < std::string > & val
);

Prepares a string deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < std::string > & val
);

Prepares a character list.

### prepare

virtual void prepare(
std::size_t pos,
const UTF16String & param63
);

Prepares a UTF16String.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < UTF16String > & val
);

Prepares a UTF16String vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < UTF16String > & val
);

Prepares a UTF16String deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < UTF16String > & val
);

Prepares a UTF16String list.

### prepare

virtual void prepare(
std::size_t pos,
const BLOB & param64
) = 0;

Prepares a BLOB.

### prepare

virtual void prepare(
std::size_t pos,
const CLOB & param65
) = 0;

Prepares a CLOB.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < BLOB > & val
);

Prepares a BLOB vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < BLOB > & val
);

Prepares a BLOB deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < BLOB > & val
);

Prepares a BLOB list.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < CLOB > & val
);

Prepares a CLOB vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < CLOB > & val
);

Prepares a CLOB deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < CLOB > & val
);

Prepares a CLOB list.

### prepare

virtual void prepare(
std::size_t pos,
const DateTime & param66
) = 0;

Prepares a DateTime.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < DateTime > & val
);

Prepares a DateTime vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < DateTime > & val
);

Prepares a DateTime deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < DateTime > & val
);

Prepares a DateTime list.

### prepare

virtual void prepare(
std::size_t pos,
const Date & param67
) = 0;

Prepares a Date.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Date > & val
);

Prepares a Date vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Date > & val
);

Prepares a Date deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Date > & val
);

Prepares a Date list.

### prepare

virtual void prepare(
std::size_t pos,
const Time & param68
) = 0;

Prepares a Time.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Time > & val
);

Prepares a Time vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Time > & val
);

Prepares a Time deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Time > & val
);

Prepares a Time list.

### prepare

virtual void prepare(
std::size_t pos,
const UUID & param69
) = 0;

Prepares a UUID.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < UUID > & val
);

Prepares a UUID vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < UUID > & val
);

Prepares a UUID deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < UUID > & val
);

Prepares a UUID list.

### prepare

virtual void prepare(
std::size_t pos,
const Any & param70
) = 0;

Prepares an Any.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Any > & val
);

Prepares an Any vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Any > & val
);

Prepares an Any deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Any > & val
);

Prepares an Any list.

### prepare

virtual void prepare(
std::size_t pos,
const Poco::Dynamic::Var & param71
) = 0;

Prepares a Var.

### prepare

virtual void prepare(
std::size_t pos,
const std::vector < Poco::Dynamic::Var > & val
);

Prepares a Var vector.

### prepare

virtual void prepare(
std::size_t pos,
const std::deque < Poco::Dynamic::Var > & val
);

Prepares a Var deque.

### prepare

virtual void prepare(
std::size_t pos,
const std::list < Poco::Dynamic::Var > & val
);

Prepares a Var list.

### setBulk

void setBulk(
bool bulkPrep = true
);

Sets bulk operation flag (always false at object creation time)

### setLength

void setLength(
Poco::UInt32 length
);

Sets the length of prepared data. Needed only for data lengths greater than 1 (i.e. for bulk operations).