CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Attributes

ora::IDatabaseSchema Class Reference

#include <IDatabaseSchema.h>

Inheritance diagram for ora::IDatabaseSchema:
ora::OraDatabaseSchema ora::PoolDatabaseSchema

List of all members.

Public Member Functions

virtual IDatabaseTableclassVersionTable ()=0
virtual IContainerHeaderTablecontainerHeaderTable ()=0
virtual void create (const std::string &userSchemaVersion)=0
virtual void drop ()=0
virtual bool exists ()=0
 IDatabaseSchema (coral::ISchema &schema)
virtual IMainTablemainTable ()=0
virtual IDatabaseTablemappingElementTable ()=0
virtual IMappingSchemamappingSchema ()=0
virtual IDatabaseTablemappingVersionTable ()=0
virtual INamingServiceTablenamingServiceTable ()=0
virtual ISequenceTablesequenceTable ()=0
virtual void setAccessPermission (const std::string &userName, bool forWrite)=0
coral::ISchema & storageSchema ()
virtual bool testDropPermission ()=0
virtual ~IDatabaseSchema ()

Static Public Member Functions

static IDatabaseSchemacreateSchemaHandle (coral::ISchema &schema)

Private Attributes

coral::ISchema & m_schema

Detailed Description

Definition at line 144 of file IDatabaseSchema.h.


Constructor & Destructor Documentation

ora::IDatabaseSchema::IDatabaseSchema ( coral::ISchema &  schema)

Definition at line 152 of file IDatabaseSchema.cc.

                                                         :
  m_schema( schema ){
}
virtual ora::IDatabaseSchema::~IDatabaseSchema ( ) [inline, virtual]

Definition at line 151 of file IDatabaseSchema.h.

                              {
    }

Member Function Documentation

virtual IDatabaseTable& ora::IDatabaseSchema::classVersionTable ( ) [pure virtual]
virtual IContainerHeaderTable& ora::IDatabaseSchema::containerHeaderTable ( ) [pure virtual]
virtual void ora::IDatabaseSchema::create ( const std::string &  userSchemaVersion) [pure virtual]
ora::IDatabaseSchema * ora::IDatabaseSchema::createSchemaHandle ( coral::ISchema &  schema) [static]

Definition at line 143 of file IDatabaseSchema.cc.

References ora::OraDatabaseSchema::existsMainTable(), and ora::PoolDatabaseSchema::existsMainTable().

Referenced by ora::DatabaseSession::startTransaction().

                                                                                {
  IDatabaseSchema* dbSchema = 0;
  if( !OraDatabaseSchema::existsMainTable( schema ) ){
    if( PoolDatabaseSchema::existsMainTable( schema ) ) dbSchema = new PoolDatabaseSchema( schema );
  }
  if( ! dbSchema ) dbSchema = new OraDatabaseSchema( schema );
  return dbSchema;
}
virtual void ora::IDatabaseSchema::drop ( ) [pure virtual]
virtual bool ora::IDatabaseSchema::exists ( ) [pure virtual]
virtual IMainTable& ora::IDatabaseSchema::mainTable ( ) [pure virtual]
virtual IDatabaseTable& ora::IDatabaseSchema::mappingElementTable ( ) [pure virtual]
virtual IMappingSchema& ora::IDatabaseSchema::mappingSchema ( ) [pure virtual]
virtual IDatabaseTable& ora::IDatabaseSchema::mappingVersionTable ( ) [pure virtual]
virtual INamingServiceTable& ora::IDatabaseSchema::namingServiceTable ( ) [pure virtual]
virtual ISequenceTable& ora::IDatabaseSchema::sequenceTable ( ) [pure virtual]
virtual void ora::IDatabaseSchema::setAccessPermission ( const std::string &  userName,
bool  forWrite 
) [pure virtual]
coral::ISchema & ora::IDatabaseSchema::storageSchema ( )

Definition at line 156 of file IDatabaseSchema.cc.

                                               {
  return m_schema;
}
virtual bool ora::IDatabaseSchema::testDropPermission ( ) [pure virtual]

Member Data Documentation

coral::ISchema& ora::IDatabaseSchema::m_schema [private]

Reimplemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.

Definition at line 171 of file IDatabaseSchema.h.