257 RelationalStreamerFactory streamerFactory(
m_schema );
264 for(
size_t i=0;
i<recIdCols.size();
i++ ){
266 m_query->addOrderId( recIdCols[ i ] );
279 if ( ! keyType ||!keyResolvedType ) {
280 throwException(
"Missing dictionary information for the key type of the container \"" +
282 "STLContainerReader::build" );
285 std::string keyName = keyType.Name();
289 throwException(
"Item for \"" + keyName +
"\" not found in the mapping element",
290 "STLContainerReader::build" );
293 m_keyReader.reset( streamerFactory.newReader( keyResolvedType, iMe->second ) );
303 if ( ! valueType ||!valueResolvedType ) {
304 throwException(
"Missing dictionary information for the content type of the container \"" +
306 "STLContainerReader::build" );
309 std::string valueName = valueType.Name();
313 throwException(
"Item for \"" + valueName +
"\" not found in the mapping element",
314 "STLContainerReader::build" );
317 m_dataReader.reset( streamerFactory.newReader( valueResolvedType, iMe->second ) );
std::auto_ptr< IRelationalReader > m_keyReader
MappingElement & m_mappingElement
Reflex::Type m_objectType
Reflex::Type containerDataType(const Reflex::Type &typ)
std::auto_ptr< IArrayHandler > m_arrayHandler
std::auto_ptr< MultiRecordSelectOperation > m_query
std::vector< std::string > recordIdColumns() const
static IArrayHandler * newArrayHandler(const Reflex::Type &arrayType)
std::auto_ptr< IRelationalReader > m_dataReader
ContainerSchema & m_schema
std::vector< int > m_recordId
iterator find(const std::string &key)
Retrieves a sub-element.
unsigned int offset(bool)
std::string pkColumn() const
std::map< std::string, MappingElement >::iterator iterator
Iterator definition.
Reflex::Type containerKeyType(const Reflex::Type &typ)
Reflex::Type containerValueType(const Reflex::Type &typ)
Reflex::Type resolvedType(const Reflex::Type &typ)
coral::ISchema & storageSchema()
iterator end()
Returns an iterator in the end of the sequence.
const std::string & tableName() const
void throwException(const std::string &message, const std::string &methodName)
DataElement m_localElement