CMS 3D CMS Logo

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

#include <OraDatabaseSchema.h>

Inheritance diagram for ora::OraClassVersionTable:
ora::IDatabaseTable

Public Member Functions

void create ()
 
void drop ()
 
bool exists ()
 
 OraClassVersionTable (coral::ISchema &dbSchema)
 
virtual ~OraClassVersionTable ()
 
- Public Member Functions inherited from ora::IDatabaseTable
virtual ~IDatabaseTable ()
 

Static Public Member Functions

static std::string classIdColumn ()
 
static std::string classNameColumn ()
 
static std::string classVersionColumn ()
 
static std::string containerIdColumn ()
 
static std::string dependencyIndexColumn ()
 
static std::string mappingVersionColumn ()
 
static std::string tableName ()
 

Private Attributes

coral::ISchema & m_schema
 

Detailed Description

Definition at line 115 of file OraDatabaseSchema.h.

Constructor & Destructor Documentation

ora::OraClassVersionTable::OraClassVersionTable ( coral::ISchema &  dbSchema)
explicit

Definition at line 561 of file OraDatabaseSchema.cc.

561  :
562  m_schema( dbSchema ){
563 }
ora::OraClassVersionTable::~OraClassVersionTable ( )
virtual

Definition at line 565 of file OraDatabaseSchema.cc.

565  {
566 }

Member Function Documentation

std::string ora::OraClassVersionTable::classIdColumn ( )
static

Definition at line 539 of file OraDatabaseSchema.cc.

Referenced by ora::OraMappingSchema::insertClassVersion(), ora::OraMappingSchema::selectMappingVersion(), and ora::OraMappingSchema::setMappingVersion().

539  {
540  static std::string s_col("CLASS_ID");
541  return s_col;
542 }
std::string ora::OraClassVersionTable::classNameColumn ( )
static

Definition at line 529 of file OraDatabaseSchema.cc.

Referenced by ora::OraMappingSchema::getDependentClassesInContainerMapping(), and ora::OraMappingSchema::insertClassVersion().

529  {
530  static std::string s_col("CLASS_NAME");
531  return s_col;
532 }
std::string ora::OraClassVersionTable::classVersionColumn ( )
static

Definition at line 534 of file OraDatabaseSchema.cc.

Referenced by ora::OraMappingSchema::getClassVersionListForContainer(), ora::OraMappingSchema::getClassVersionListForMappingVersion(), and ora::OraMappingSchema::insertClassVersion().

534  {
535  static std::string s_col("CLASS_VERSION");
536  return s_col;
537 }
std::string ora::OraClassVersionTable::containerIdColumn ( )
static
void ora::OraClassVersionTable::create ( )
virtual

Implements ora::IDatabaseTable.

Definition at line 572 of file OraDatabaseSchema.cc.

References ora::OraContainerHeaderTable::containerIdColumn(), ora::OraMappingVersionTable::mappingVersionColumn(), ora::OraMappingVersionTable::tableName(), ora::OraContainerHeaderTable::tableName(), and ora::throwException().

572  {
573  if( m_schema.existsTable( tableName() )){
574  throwException( "ORA database class version table already exists in this schema.",
575  "OraClassVersionTable::create");
576  }
577  // class version table
578  coral::TableDescription description1( "OraDb" );
579  description1.setName( tableName() );
580  description1.insertColumn( classNameColumn(),
581  coral::AttributeSpecification::typeNameForType<std::string>(), 1000, false);
582  description1.setNotNullConstraint( classNameColumn() );
583  description1.insertColumn( classVersionColumn(),
584  coral::AttributeSpecification::typeNameForType<std::string>(), 1000, false);
585  description1.setNotNullConstraint( classVersionColumn() );
586  description1.insertColumn( classIdColumn(),
587  coral::AttributeSpecification::typeNameForType<std::string>(), 1000, false);
588  description1.setNotNullConstraint( classIdColumn() );
589  description1.insertColumn( dependencyIndexColumn(),
590  coral::AttributeSpecification::typeNameForType<int>() );
591  description1.setNotNullConstraint( dependencyIndexColumn() );
592  description1.insertColumn( containerIdColumn(),
593  coral::AttributeSpecification::typeNameForType<int>() );
594  description1.setNotNullConstraint( containerIdColumn() );
595  description1.insertColumn( mappingVersionColumn(),
596  coral::AttributeSpecification::typeNameForType<std::string>(), 1000, false);
597  description1.setNotNullConstraint( mappingVersionColumn() );
598  std::vector<std::string> cols1;
599  cols1.push_back( classIdColumn() );
600  cols1.push_back( containerIdColumn() );
601  description1.setPrimaryKey( cols1 );
602  std::string fk10Name = mappingVersionColumn()+"_FK10";
603  description1.createForeignKey( fk10Name, mappingVersionColumn(),
605  std::string fk11Name = containerIdColumn()+"_FK11";
606  description1.createForeignKey( fk11Name, containerIdColumn(),
608  m_schema.createTable( description1 ).privilegeManager().grantToPublic( coral::ITablePrivilegeManager::Select );
609 }
static std::string classIdColumn()
static std::string mappingVersionColumn()
static std::string tableName()
static std::string classNameColumn()
static std::string tableName()
static std::string tableName()
static std::string classVersionColumn()
static std::string mappingVersionColumn()
static std::string containerIdColumn()
static std::string dependencyIndexColumn()
void throwException(const std::string &message, const std::string &methodName)
Definition: Exception.cc:10
static std::string containerIdColumn()
std::string ora::OraClassVersionTable::dependencyIndexColumn ( )
static

Definition at line 544 of file OraDatabaseSchema.cc.

Referenced by ora::OraMappingSchema::getDependentClassesInContainerMapping(), ora::OraMappingSchema::getMappingVersionListForContainer(), and ora::OraMappingSchema::insertClassVersion().

544  {
545  static std::string s_col("DEPENDENCY_INDEX");
546  return s_col;
547 }
void ora::OraClassVersionTable::drop ( )
virtual

Implements ora::IDatabaseTable.

Definition at line 611 of file OraDatabaseSchema.cc.

611  {
612  m_schema.dropIfExistsTable( tableName() );
613 }
static std::string tableName()
bool ora::OraClassVersionTable::exists ( )
virtual

Implements ora::IDatabaseTable.

Definition at line 568 of file OraDatabaseSchema.cc.

568  {
569  return m_schema.existsTable( tableName() );
570 }
static std::string tableName()
std::string ora::OraClassVersionTable::mappingVersionColumn ( )
static
std::string ora::OraClassVersionTable::tableName ( )
static

Member Data Documentation

coral::ISchema& ora::OraClassVersionTable::m_schema
private

Definition at line 132 of file OraDatabaseSchema.h.