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::InputRelationalData Class Reference

#include <RelationalOperation.h>

Inheritance diagram for ora::InputRelationalData:
ora::IRelationalData ora::BulkInsertOperation ora::DeleteOperation ora::InsertOperation ora::UpdateOperation

Public Member Functions

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 ()
 

Private Attributes

coral::AttributeList m_data
 
std::string m_setClause
 
std::string m_whereClause
 

Detailed Description

Definition at line 58 of file RelationalOperation.h.

Constructor & Destructor Documentation

ora::InputRelationalData::InputRelationalData ( )

Definition at line 32 of file RelationalOperation.cc.

32  :
33  m_data(),
34  m_setClause(""),
35  m_whereClause(""){
36 }
coral::AttributeList m_data
ora::InputRelationalData::~InputRelationalData ( )
virtual

Definition at line 38 of file RelationalOperation.cc.

38  {
39 }

Member Function Documentation

void ora::InputRelationalData::addBlobData ( const std::string &  columnName)
virtual

Implements ora::IRelationalData.

Definition at line 58 of file RelationalOperation.cc.

References ora::existAttribute().

58  {
59  if(!existAttribute( columnName, m_data )){
60  m_data.extend<coral::Blob>( columnName );
61  if(!m_setClause.empty()) m_setClause += ", ";
62  m_setClause += ( columnName +"= :"+columnName );
63  }
64 }
coral::AttributeList m_data
bool existAttribute(const std::string &attributeName, const coral::AttributeList &data)
void ora::InputRelationalData::addData ( const std::string &  columnName,
const std::type_info &  columnType 
)
virtual

Implements ora::IRelationalData.

Definition at line 49 of file RelationalOperation.cc.

References ora::existAttribute().

50  {
51  if(!existAttribute( columnName, m_data )){
52  m_data.extend( columnName, columnType );
53  if(!m_setClause.empty()) m_setClause += ", ";
54  m_setClause += ( columnName +"= :"+columnName );
55  }
56 }
coral::AttributeList m_data
bool existAttribute(const std::string &attributeName, const coral::AttributeList &data)
void ora::InputRelationalData::addId ( const std::string &  columnName)
virtual

Implements ora::IRelationalData.

Definition at line 41 of file RelationalOperation.cc.

References ora::existAttribute().

Referenced by ora::DependentClassWriter::build(), ora::UpdateBuffer::UpdateBuffer(), and ora::WriteBuffer::WriteBuffer().

41  {
42  if(!existAttribute( columnName, m_data )){
43  m_data.extend<int>( columnName );
44  if(!m_setClause.empty()) m_setClause += ", ";
45  m_setClause += ( columnName +"= :"+columnName );
46  }
47 }
coral::AttributeList m_data
bool existAttribute(const std::string &attributeName, const coral::AttributeList &data)
void ora::InputRelationalData::addWhereId ( const std::string &  columnName)
virtual

Implements ora::IRelationalData.

Definition at line 66 of file RelationalOperation.cc.

References ora::existAttribute().

Referenced by ora::RelationalDeleter::build(), ora::deleteArrayElements(), and ora::UpdateBuffer::UpdateBuffer().

66  {
67  if(!existAttribute( columnName, m_data )){
68  m_data.extend<int>( columnName );
69  }
70  if(!m_whereClause.empty()) m_whereClause += " AND ";
71  m_whereClause += ( columnName +"= :"+columnName );
72 }
coral::AttributeList m_data
bool existAttribute(const std::string &attributeName, const coral::AttributeList &data)
void ora::InputRelationalData::addWhereId ( const std::string &  columnName,
ConditionType  cond 
)

Definition at line 74 of file RelationalOperation.cc.

References ora::conditionOfType(), and ora::existAttribute().

74  {
75  if(!existAttribute( columnName, m_data )){
76  m_data.extend<int>( columnName );
77  if(!m_whereClause.empty()) m_whereClause += " AND ";
78  m_whereClause += ( columnName +conditionOfType(condType)+" :"+columnName );
79  }
80 }
char * conditionOfType(ConditionType condType)
coral::AttributeList m_data
bool existAttribute(const std::string &attributeName, const coral::AttributeList &data)
coral::AttributeList & ora::InputRelationalData::data ( )
virtual

Implements ora::IRelationalData.

Definition at line 82 of file RelationalOperation.cc.

Referenced by ora::UpdateBuffer::update(), ora::DependentClassWriter::write(), and ora::WriteBuffer::write().

82  {
83  return m_data;
84 }
coral::AttributeList m_data
std::string & ora::InputRelationalData::updateClause ( )

Definition at line 91 of file RelationalOperation.cc.

91  {
92  return m_setClause;
93 }
std::string & ora::InputRelationalData::whereClause ( )
virtual

Implements ora::IRelationalData.

Definition at line 95 of file RelationalOperation.cc.

95  {
96  return m_whereClause;
97 }
coral::AttributeList & ora::InputRelationalData::whereData ( )
virtual

Implements ora::IRelationalData.

Definition at line 86 of file RelationalOperation.cc.

Referenced by ora::deleteArrayElements(), and ora::UpdateBuffer::update().

86  {
87  // data and where data are hosted in the same buffer (as for update operation)
88  return m_data;
89 }
coral::AttributeList m_data

Member Data Documentation

coral::AttributeList ora::InputRelationalData::m_data
private

Definition at line 90 of file RelationalOperation.h.

std::string ora::InputRelationalData::m_setClause
private

Definition at line 91 of file RelationalOperation.h.

std::string ora::InputRelationalData::m_whereClause
private

Definition at line 92 of file RelationalOperation.h.