#include <RelationalDeleter.h>
Public Member Functions | |
void | build (RelationalBuffer &buffer) |
void | clear () |
void | erase (int itemId) |
RelationalDeleter (const std::vector< MappingElement > &mappingList) | |
RelationalDeleter (MappingElement &dataMapping) | |
virtual | ~RelationalDeleter () |
Destructor. | |
Private Attributes | |
std::vector< const MappingElement * > | m_mappings |
std::vector< DeleteOperation * > | m_operations |
Definition at line 12 of file RelationalDeleter.h.
ora::RelationalDeleter::RelationalDeleter | ( | MappingElement & | dataMapping | ) | [explicit] |
Definition at line 9 of file RelationalDeleter.cc.
References m_mappings.
: m_mappings(), m_operations(){ m_mappings.push_back( &dataMapping ); }
ora::RelationalDeleter::RelationalDeleter | ( | const std::vector< MappingElement > & | mappingList | ) | [explicit] |
Definition at line 15 of file RelationalDeleter.cc.
References m_mappings.
: m_mappings(), m_operations(){ for( std::vector<MappingElement>::const_iterator iMe = mappingList.begin(); iMe != mappingList.end(); ++iMe ){ m_mappings.push_back( &(*iMe) ); } }
ora::RelationalDeleter::~RelationalDeleter | ( | ) | [virtual] |
void ora::RelationalDeleter::build | ( | RelationalBuffer & | buffer | ) |
Definition at line 32 of file RelationalDeleter.cc.
References ora::InputRelationalData::addWhereId(), first, i, ora::RelationalBuffer::newDelete(), and edm::second().
{ m_operations.clear(); for( std::vector<const MappingElement*>::iterator iMe = m_mappings.begin(); iMe != m_mappings.end(); iMe++ ){ std::vector<std::pair<std::string,std::string> > tableHierarchy = (*iMe)->tableHierarchy(); size_t sz = tableHierarchy.size(); for( size_t i=1; i<sz+1; i++ ){ DeleteOperation& delOperation = buffer.newDelete( tableHierarchy[sz-i].first, i==sz ); delOperation.addWhereId( tableHierarchy[sz-i].second ); m_operations.push_back(&delOperation); } } }
void ora::RelationalDeleter::clear | ( | void | ) |
Definition at line 28 of file RelationalDeleter.cc.
{ m_operations.clear(); }
void ora::RelationalDeleter::erase | ( | int | itemId | ) |
Definition at line 46 of file RelationalDeleter.cc.
{ for( std::vector<DeleteOperation*>::const_iterator iDel = m_operations.begin(); iDel != m_operations.end(); ++iDel ){ coral::AttributeList& whereData = (*iDel)->whereData(); whereData.begin()->data<int>() = itemId; } }
std::vector<const MappingElement*> ora::RelationalDeleter::m_mappings [private] |
Definition at line 29 of file RelationalDeleter.h.
Referenced by RelationalDeleter().
std::vector<DeleteOperation*> ora::RelationalDeleter::m_operations [private] |
Definition at line 30 of file RelationalDeleter.h.