mirror of
https://github.com/pocoproject/poco.git
synced 2025-11-25 06:36:37 +01:00
multiple results (WIP, compiles and tests pass)
This commit is contained in:
@@ -41,9 +41,11 @@ namespace Poco {
|
||||
namespace Data {
|
||||
|
||||
|
||||
AbstractExtraction::AbstractExtraction(Poco::UInt32 limit):
|
||||
AbstractExtraction::AbstractExtraction(Poco::UInt32 limit,
|
||||
Poco::UInt32 position):
|
||||
_pExtractor(0),
|
||||
_limit(limit)
|
||||
_limit(limit),
|
||||
_position(position)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -66,8 +66,10 @@ StatementImpl::StatementImpl(SessionImpl& rSession):
|
||||
_rSession(rSession),
|
||||
_storage(STORAGE_UNKNOWN_IMPL),
|
||||
_ostr(),
|
||||
_bindings()
|
||||
_bindings(),
|
||||
_curDataSet(0)
|
||||
{
|
||||
_extractors.resize(1);
|
||||
}
|
||||
|
||||
|
||||
@@ -332,4 +334,25 @@ const MetaColumn& StatementImpl::metaColumn(const std::string& name) const
|
||||
}
|
||||
|
||||
|
||||
Poco::UInt32 StatementImpl::activateNextDataSet()
|
||||
{
|
||||
if (_curDataSet + 1 < dataSetCount())
|
||||
return ++_curDataSet;
|
||||
else
|
||||
throw InvalidAccessException("End of data sets reached.");
|
||||
}
|
||||
|
||||
|
||||
void StatementImpl::addExtract(AbstractExtraction* pExtraction)
|
||||
{
|
||||
poco_check_ptr (pExtraction);
|
||||
|
||||
Poco::UInt32 pos = pExtraction->position();
|
||||
if (pos >= _extractors.size())
|
||||
_extractors.resize(pos + 1);
|
||||
|
||||
_extractors[pos].push_back(pExtraction);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Data
|
||||
|
||||
Reference in New Issue
Block a user