CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
ora::BulkInsertOperation Class Reference

#include <RelationalOperation.h>

Inheritance diagram for ora::BulkInsertOperation:
ora::InputRelationalData ora::IRelationalOperation ora::IRelationalData

Public Member Functions

 BulkInsertOperation (const std::string &tableName, coral::ISchema &schema)
 
bool execute ()
 
bool isRequired ()
 
void reset ()
 
coral::IBulkOperation & setUp (int rowCacheSize)
 
 ~BulkInsertOperation ()
 
- Public Member Functions inherited from ora::InputRelationalData
void addBlobData (const std::string &columnName)
 
void addData (const std::string &columnName, const std::type_info &columnType)
 
void addId (const std::string &columnName)
 
void addWhereId (const std::string &columnName)
 
void addWhereId (const std::string &columnName, ConditionType cond)
 
coral::AttributeList & data ()
 
 InputRelationalData ()
 
std::string & updateClause ()
 
std::string & whereClause ()
 
coral::AttributeList & whereData ()
 
virtual ~InputRelationalData ()
 
- Public Member Functions inherited from ora::IRelationalData
virtual ~IRelationalData ()
 
- Public Member Functions inherited from ora::IRelationalOperation
virtual ~IRelationalOperation ()
 

Private Attributes

std::vector
< coral::IBulkOperation * > 
m_bulkOperations
 
coral::ISchema & m_schema
 
std::string m_tableName
 

Detailed Description

Definition at line 110 of file RelationalOperation.h.

Constructor & Destructor Documentation

ora::BulkInsertOperation::BulkInsertOperation ( const std::string &  tableName,
coral::ISchema &  schema 
)

Definition at line 123 of file RelationalOperation.cc.

124  :
126  m_tableName( tableName ),
127  m_schema( schema ),
129 }
std::vector< coral::IBulkOperation * > m_bulkOperations
ora::BulkInsertOperation::~BulkInsertOperation ( )

Definition at line 131 of file RelationalOperation.cc.

131  {
132  for( std::vector<coral::IBulkOperation*>::iterator iB = m_bulkOperations.begin();
133  iB != m_bulkOperations.end(); ++iB ){
134  delete *iB;
135  }
136 }
std::vector< coral::IBulkOperation * > m_bulkOperations

Member Function Documentation

bool ora::BulkInsertOperation::execute ( )
virtual

Implements ora::IRelationalOperation.

Definition at line 150 of file RelationalOperation.cc.

150  {
151  for( std::vector<coral::IBulkOperation*>::iterator iB = m_bulkOperations.begin();
152  iB != m_bulkOperations.end(); ++iB ){
153  (*iB)->flush();
154  delete *iB;
155  }
156  m_bulkOperations.clear();
157  return true;
158 }
std::vector< coral::IBulkOperation * > m_bulkOperations
bool ora::BulkInsertOperation::isRequired ( )
virtual

Implements ora::IRelationalOperation.

Definition at line 146 of file RelationalOperation.cc.

146  {
147  return false;
148 }
void ora::BulkInsertOperation::reset ( void  )
virtual

Implements ora::IRelationalOperation.

Definition at line 160 of file RelationalOperation.cc.

Referenced by runTheMatrix.MatrixReader::__init__(), and BeautifulSoup.BeautifulStoneSoup::__init__().

160  {
161  for( std::vector<coral::IBulkOperation*>::iterator iB = m_bulkOperations.begin();
162  iB != m_bulkOperations.end(); ++iB ){
163  delete *iB;
164  }
165  m_bulkOperations.clear();
166 }
std::vector< coral::IBulkOperation * > m_bulkOperations
coral::IBulkOperation & ora::BulkInsertOperation::setUp ( int  rowCacheSize)

Definition at line 138 of file RelationalOperation.cc.

References runTheMatrix::data, and asciidump::table.

138  {
139  coral::ITable& table = m_schema.tableHandle( m_tableName );
140 
141  m_bulkOperations.push_back( table.dataEditor().bulkInsert( data(), rowCacheSize ) );
142  return *m_bulkOperations.back();
143 }
list table
Definition: asciidump.py:386
coral::AttributeList & data()
std::vector< coral::IBulkOperation * > m_bulkOperations

Member Data Documentation

std::vector<coral::IBulkOperation*> ora::BulkInsertOperation::m_bulkOperations
private

Definition at line 123 of file RelationalOperation.h.

coral::ISchema& ora::BulkInsertOperation::m_schema
private

Definition at line 122 of file RelationalOperation.h.

std::string ora::BulkInsertOperation::m_tableName
private

Definition at line 121 of file RelationalOperation.h.