Library: Data
Package: DataCore
Header: Poco/Data/AbstractExtraction.h
Description
AbstractExtraction is the interface class that connects output positions to concrete values retrieved via an AbstractExtractor.
Inheritance
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
Constructors
AbstractExtraction
AbstractExtraction(
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.
Destructor
~AbstractExtraction
virtual ~AbstractExtraction();
Destroys the AbstractExtraction.
Member Functions
createPrepareObject
virtual AbstractPrepare * createPrepareObject(
AbstractPreparation * pPrep,
std::size_t pos
) const = 0;
Creates a Prepare object for the etxracting object
extract
virtual void extract(
std::size_t pos
) = 0;
Extracts a value from the param, starting at the given column position.
getExtractor
AbstractExtractor * getExtractor() const;
Retrieves the extractor object
getLimit
Poco::UInt32 getLimit() const;
Gets the limit.
numOfColumnsHandled
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 std::size_t numOfRowsAllowed() const = 0;
Returns the upper limit on number of rows that the extraction will handle.
numOfRowsHandled
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 void reset() = 0;
Resets the etxractor so that it can be re-used.
setExtractor
void setExtractor(
AbstractExtractor * pExtractor
);
Sets the class used for extracting the data. Does not take ownership of the pointer.
setLimit
void setLimit(
Poco::UInt32 limit
);
Sets the limit.