Writes a data element.
96 "CArrayWriter::write");
100 throwException(
"Record id elements provided are not matching with the mapped id columns.",
101 "CArrayWriter::write");
109 if ( containerSize == 0 )
return;
111 size_t startElementIndex =
m_arrayHandler->startElementIndex( data );
113 std::auto_ptr<IArrayIteratorHandler> iteratorHandler(
m_arrayHandler->iterate( data ) );
117 for (
size_t iIndex = startElementIndex; iIndex < containerSize; ++iIndex ) {
122 dataBuff[ columns[0] ].data<
int>() = oid;
123 for(
size_t i = 1;
i < columns.size();
i++ ){
127 void* objectReference = iteratorHandler->object();
132 bulkOperation.processNextIteration();
134 iteratorHandler->increment();
void * address(const void *topLevelAddress) const
MultiRecordInsertOperation * m_insertOperation
coral::AttributeList & data()
std::vector< int > m_recordId
const std::vector< std::string > & columnNames() const
std::auto_ptr< IArrayHandler > m_arrayHandler
char data[epos_bytes_allocation]
InsertCache & setUp(int rowCacheSize)
void throwException(const std::string &message, const std::string &methodName)
MappingElement & m_mappingElement
std::auto_ptr< IRelationalWriter > m_dataWriter