CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MultiRecordInsertOperation.h
Go to the documentation of this file.
1 #ifndef INCLUDE_ORA_MULTIRECORDINSERTOPERATION_H
2 #define INCLUDE_ORA_MULTIRECORDINSERTOPERATION_H
3 
5 #include "RelationalOperation.h"
6 
7 #define INSERTCACHESIZE 50000
8 
9 namespace coral {
10  class AttibuteList;
11 }
12 
13 namespace ora {
14 
15  class InsertCache {
16  public:
17  InsertCache( const RecordSpec& m_spec, const coral::AttributeList& data );
18  ~InsertCache();
19  void processNextIteration();
20  const std::vector<Record*>& records() const;
21  private:
23  std::vector<Record*> m_records;
24  const coral::AttributeList& m_data;
25  };
26 
28  public:
29  MultiRecordInsertOperation( const std::string& tableName, coral::ISchema& schema );
31  InsertCache& setUp( int rowCacheSize );
32 
33  public:
34  int addId( const std::string& columnName );
35  int addData( const std::string& columnName, const std::type_info& columnType );
36  int addBlobData(const std::string& columnName);
37  int addWhereId( const std::string& columnName );
38  coral::AttributeList& data();
39  coral::AttributeList& whereData();
40  std::string& whereClause();
41 
42  public:
43  bool isRequired();
44  bool execute();
45  void reset();
46  private:
49  std::string m_tableName;
50  coral::ISchema& m_schema;
51  std::vector<InsertCache*> m_bulkInserts;
52  };
53 }
54 
55 #endif
std::vector< Record * > m_records
int addWhereId(const std::string &columnName)
InsertCache(const RecordSpec &m_spec, const coral::AttributeList &data)
MultiRecordInsertOperation(const std::string &tableName, coral::ISchema &schema)
int addData(const std::string &columnName, const std::type_info &columnType)
const coral::AttributeList & m_data
const std::vector< Record * > & records() const
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
int addBlobData(const std::string &columnName)
InsertCache & setUp(int rowCacheSize)
const RecordSpec & m_spec
int addId(const std::string &columnName)
std::vector< InsertCache * > m_bulkInserts