Poco::Data

class AbstractExtractor

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

Description

Interface used to extract data from a single result row. If an extractor receives null it is not allowed to change val!

Inheritance

Known Derived Classes: Poco::Data::MySQL::Extractor, Poco::Data::ODBC::Extractor, Poco::Data::PostgreSQL::BinaryExtractor, Poco::Data::PostgreSQL::Extractor, Poco::Data::SQLite::Extractor

Member Summary

Member Functions: extract, isNull, reset, reverseTranscode, transcode, transcodeRequired

Types Aliases

Ptr

using Ptr = SharedPtr < AbstractExtractor >;

Constructors

AbstractExtractor

AbstractExtractor(
    Poco::TextEncoding::Ptr pDBEncoding = nullptr,
    Poco::TextEncoding::Ptr pToEncoding = nullptr
);

Creates the AbstractExtractor.

Destructor

~AbstractExtractor virtual

virtual ~AbstractExtractor();

Destroys the AbstractExtractor.

Member Functions

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::Int8 & val
) = 0;

Extracts an Int8. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::Int8 > & val
);

Extracts an Int8 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::Int8 > & val
);

Extracts an Int8 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::Int8 > & val
);

Extracts an Int8 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::UInt8 & val
) = 0;

Extracts an UInt8. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::UInt8 > & val
);

Extracts an UInt8 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::UInt8 > & val
);

Extracts an UInt8 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::UInt8 > & val
);

Extracts an UInt8 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::Int16 & val
) = 0;

Extracts an Int16. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::Int16 > & val
);

Extracts an Int16 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::Int16 > & val
);

Extracts an Int16 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::Int16 > & val
);

Extracts an Int16 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::UInt16 & val
) = 0;

Extracts an UInt16. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::UInt16 > & val
);

Extracts an UInt16 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::UInt16 > & val
);

Extracts an UInt16 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::UInt16 > & val
);

Extracts an UInt16 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::Int32 & val
) = 0;

Extracts an Int32. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::Int32 > & val
);

Extracts an Int32 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::Int32 > & val
);

Extracts an Int32 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::Int32 > & val
);

Extracts an Int32 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::UInt32 & val
) = 0;

Extracts an UInt32. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::UInt32 > & val
);

Extracts an UInt32 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::UInt32 > & val
);

Extracts an UInt32 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::UInt32 > & val
);

Extracts an UInt32 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::Int64 & val
) = 0;

Extracts an Int64. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::Int64 > & val
);

Extracts an Int64 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::Int64 > & val
);

Extracts an Int64 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::Int64 > & val
);

Extracts an Int64 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::UInt64 & val
) = 0;

Extracts an UInt64. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::UInt64 > & val
);

Extracts an UInt64 vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::UInt64 > & val
);

Extracts an UInt64 deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::UInt64 > & val
);

Extracts an UInt64 list.

extract virtual

virtual bool extract(
    std::size_t pos,
    bool & val
) = 0;

Extracts a boolean. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < bool > & val
);

Extracts a boolean vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < bool > & val
);

Extracts a boolean deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < bool > & val
);

Extracts a boolean list.

extract virtual

virtual bool extract(
    std::size_t pos,
    float & val
) = 0;

Extracts a float. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < float > & val
);

Extracts a float vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < float > & val
);

Extracts a float deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < float > & val
);

Extracts a float list.

extract virtual

virtual bool extract(
    std::size_t pos,
    double & val
) = 0;

Extracts a double. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < double > & val
);

Extracts a double vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < double > & val
);

Extracts a double deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < double > & val
);

Extracts a double list.

extract virtual

virtual bool extract(
    std::size_t pos,
    char & val
) = 0;

Extracts a single character. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < char > & val
);

Extracts a character vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < char > & val
);

Extracts a character deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < char > & val
);

Extracts a character list.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::string & val
) = 0;

Extracts a string. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < std::string > & val
);

Extracts a string vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < std::string > & val
);

Extracts a string deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < std::string > & val
);

Extracts a string list.

extract virtual

virtual bool extract(
    std::size_t pos,
    UTF16String & val
);

Extracts a UTF16String. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < UTF16String > & val
);

Extracts a UTF16String vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < UTF16String > & val
);

Extracts a UTF16String deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < UTF16String > & val
);

Extracts a UTF16String list.

extract virtual

virtual bool extract(
    std::size_t pos,
    BLOB & val
) = 0;

Extracts a BLOB. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    CLOB & val
) = 0;

Extracts a CLOB. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < BLOB > & val
);

Extracts a BLOB vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < BLOB > & val
);

Extracts a BLOB deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < BLOB > & val
);

Extracts a BLOB list.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < CLOB > & val
);

Extracts a CLOB vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < CLOB > & val
);

Extracts a CLOB deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < CLOB > & val
);

Extracts a CLOB list.

extract virtual

virtual bool extract(
    std::size_t pos,
    DateTime & val
) = 0;

Extracts a DateTime. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < DateTime > & val
);

Extracts a DateTime vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < DateTime > & val
);

Extracts a DateTime deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < DateTime > & val
);

Extracts a DateTime list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Date & val
) = 0;

Extracts a Date. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Date > & val
);

Extracts a Date vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Date > & val
);

Extracts a Date deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Date > & val
);

Extracts a Date list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Time & val
) = 0;

Extracts a Time. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Time > & val
);

Extracts a Time vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Time > & val
);

Extracts a Time deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Time > & val
);

Extracts a Time list.

extract virtual

virtual bool extract(
    std::size_t pos,
    UUID & val
) = 0;

Extracts a UUID. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < UUID > & val
);

Extracts a UUID vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < UUID > & val
);

Extracts a UUID deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < UUID > & val
);

Extracts a UUID list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Any & val
) = 0;

Extracts an Any. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Any > & val
);

Extracts an Any vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Any > & val
);

Extracts an Any deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Any > & val
);

Extracts an Any list.

extract virtual

virtual bool extract(
    std::size_t pos,
    Poco::Dynamic::Var & val
) = 0;

Extracts a Var. Returns false if null was received.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::vector < Poco::Dynamic::Var > & val
);

Extracts a Var vector.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::deque < Poco::Dynamic::Var > & val
);

Extracts a Var deque.

extract virtual

virtual bool extract(
    std::size_t pos,
    std::list < Poco::Dynamic::Var > & val
);

Extracts a Var list.

isNull virtual

virtual bool isNull(
    std::size_t col,
    std::size_t row = POCO_DATA_INVALID_ROW
) = 0;

Returns true if the value at [col,row] position is null.

reset virtual inline

virtual void reset();

Resets any information internally cached by the extractor.

reverseTranscode protected

void reverseTranscode(
    const std::string & from,
    std::string & to
);

transcode protected

void transcode(
    const std::string & from,
    std::string & to
);

transcodeRequired protected inline

bool transcodeRequired() const;