# Poco::Data

# template < class C >

# class InternalBulkExtraction

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

## Description

Container Data Type specialization extension for extraction of values from a query result set.

This class is intended for PocoData internal use - it is used by StatementImpl to automaticaly create internal BulkExtraction in cases when statement returns data and no external storage was supplied. It is later used by RecordSet to retrieve the fetched data after statement execution. It takes ownership of the Column pointer supplied as constructor argument. Column object, in turn owns the data container pointer.

InternalBulkExtraction objects can not be copied or assigned.

## Inheritance

Direct Base Classes: BulkExtraction < C >

All Base Classes: BulkExtraction < C >

## Member Summary

Member Functions: column, isNull, reset, value

## Types Aliases

### CValType

using CValType = typename C::value_type;

### Ptr

using Ptr = SharedPtr < Type >;

### Type

using Type = InternalBulkExtraction < ValType >;

### ValPtr

using ValPtr = SharedPtr < ValType >;

### ValType

using ValType = C;

## Constructors

### InternalBulkExtraction

InternalBulkExtraction(
C & result,
Column < C > * pColumn,
Poco::UInt32 limit,
const Position & pos = Position (0)
);

Creates InternalBulkExtraction.

## Destructor

### ~InternalBulkExtraction

~InternalBulkExtraction();

Destroys InternalBulkExtraction.

## Member Functions

### column

const Column < C > & column() const;

### isNull

bool isNull(
std::size_t row
) const;

### reset

void reset();

### value

const CValType & value(
int index
) const;