CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
QueryableVectorStreamer.h
Go to the documentation of this file.
1 #ifndef INCLUDE_ORA_QUERYABLEVECTORSTREAMER_H
2 #define INCLUDE_ORA_QUERYABLEVECTORSTREAMER_H
3 
4 #include "PVectorStreamer.h"
5 #include "DataElement.h"
6 //
7 #include <memory>
8 #include <boost/shared_ptr.hpp>
9 // externals
10 #include "Reflex/Type.h"
11 
12 namespace ora {
13 
14  class MappingElement;
15  class ContainerSchema;
16  class IRelationalData;
17  class IArrayHandler;
18  class MultiRecordInsertOperation;
19  class IVectorLoader;
20 
22 
23  public:
25  QueryableVectorWriter( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& contSchema );
26  virtual ~QueryableVectorWriter();
27 
28  bool build( DataElement& offset, IRelationalData& relationalData, RelationalBuffer& operationBuffer );
29  void setRecordId( const std::vector<int>& identity );
30  void write( int oid,const void* data );
31  private:
35  private:
37  };
38 
40 
41  public:
42 
44  QueryableVectorUpdater(const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& contSchema );
45  virtual ~QueryableVectorUpdater();
46 
47  bool build( DataElement& offset, IRelationalData& relationalData, RelationalBuffer& operationBuffer);
48  void setRecordId( const std::vector<int>& identity );
49  void update( int oid,const void* data );
50 
51  private:
55  private:
57  };
58 
60 
61  public:
62 
64  QueryableVectorReader(const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& contSchema );
65 
66  virtual ~QueryableVectorReader();
67 
68  bool build( DataElement& offset, IRelationalData& relationalData );
69  void select( int oid );
70  void setRecordId( const std::vector<int>& identity );
71  void read( void* address );
72  void clear();
73 
74  private:
79  std::vector<boost::shared_ptr<IVectorLoader> > m_loaders;
80  std::vector<int> m_tmpIds;
81  };
82 
84  {
85  public:
86  QueryableVectorStreamer( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& contSchema );
87 
89 
91 
93 
95 
96  private:
100  };
101 
102 
103 }
104 
105 #endif
106 
107 
QueryableVectorStreamer(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
char * address
Definition: mlp_lapack.h:14
bool build(DataElement &offset, IRelationalData &relationalData, RelationalBuffer &operationBuffer)
QueryableVectorWriter(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
Constructor.
void write(int oid, const void *data)
Writes a data element.
void setRecordId(const std::vector< int > &identity)
std::vector< boost::shared_ptr< IVectorLoader > > m_loaders
void update(int oid, const void *data)
Updates a data element.
unsigned int offset(bool)
QueryableVectorReader(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
Constructor.
void setRecordId(const std::vector< int > &identity)
void read(void *address)
Reads a data element.
void setRecordId(const std::vector< int > &identity)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
QueryableVectorUpdater(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
Constructor.
bool build(DataElement &offset, IRelationalData &relationalData)
bool build(DataElement &offset, IRelationalData &relationalData, RelationalBuffer &operationBuffer)