class AbstractExtraction

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


AbstractExtraction is the interface class that connects output positions to concrete values retrieved via an AbstractExtractor.


Direct Base Classes: Poco::RefCountedObject

All Base Classes: Poco::RefCountedObject

Known Derived Classes: Extraction

Member Summary

Member Functions: createPrepareObject, extract, getExtractor, getLimit, numOfColumnsHandled, numOfRowsAllowed, numOfRowsHandled, reset, setExtractor, setLimit

Inherited Functions: duplicate, referenceCount, release



    Poco::UInt32 limit = Limit::LIMIT_UNLIMITED

Creates the AbstractExtraction. A limit value equal to EXTRACT_UNLIMITED (0xffffffffu) means that we extract as much data as possible during one execute. Otherwise the limit value is used to partition data extracting to a limited amount of rows.


~AbstractExtraction virtual

virtual ~AbstractExtraction();

Destroys the AbstractExtraction.

Member Functions

createPrepareObject virtual

virtual AbstractPrepare * createPrepareObject(
    AbstractPreparation * pPrep,
    std::size_t pos
) const = 0;

Creates a Prepare object for the etxracting object

extract virtual

virtual void extract(
    std::size_t pos
) = 0;

Extracts a value from the param, starting at the given column position.

getExtractor inline

AbstractExtractor * getExtractor() const;

Retrieves the extractor object

getLimit inline

Poco::UInt32 getLimit() const;

Gets the limit.

numOfColumnsHandled virtual

virtual std::size_t numOfColumnsHandled() const = 0;

Returns the number of columns that the extraction handles.

The trivial case will be one single column but when complex types are used this value can be larger than one.

numOfRowsAllowed virtual

virtual std::size_t numOfRowsAllowed() const = 0;

Returns the upper limit on number of rows that the extraction will handle.

numOfRowsHandled virtual

virtual std::size_t numOfRowsHandled() const = 0;

Returns the number of rows that the extraction handles.

The trivial case will be one single row but for collection data types (ie vector) it can be larger.

reset virtual

virtual void reset() = 0;

Resets the etxractor so that it can be re-used.

setExtractor inline

void setExtractor(
    AbstractExtractor * pExtractor

Sets the class used for extracting the data. Does not take ownership of the pointer.

setLimit inline

void setLimit(
    Poco::UInt32 limit

Sets the limit.