#include <IDatabaseSchema.h>
Public Member Functions | |
virtual IDatabaseTable & | classVersionTable ()=0 |
virtual IContainerHeaderTable & | containerHeaderTable ()=0 |
virtual void | create (const std::string &userSchemaVersion)=0 |
virtual void | drop ()=0 |
virtual bool | exists ()=0 |
IDatabaseSchema (coral::ISchema &schema) | |
virtual IMainTable & | mainTable ()=0 |
virtual IDatabaseTable & | mappingElementTable ()=0 |
virtual IMappingSchema & | mappingSchema ()=0 |
virtual IDatabaseTable & | mappingVersionTable ()=0 |
virtual INamingServiceTable & | namingServiceTable ()=0 |
virtual ISequenceTable & | sequenceTable ()=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 IDatabaseSchema * | createSchemaHandle (coral::ISchema &schema) |
Private Attributes | |
coral::ISchema & | m_schema |
Definition at line 144 of file IDatabaseSchema.h.
ora::IDatabaseSchema::IDatabaseSchema | ( | coral::ISchema & | schema | ) |
Definition at line 152 of file IDatabaseSchema.cc.
virtual ora::IDatabaseSchema::~IDatabaseSchema | ( | ) | [inline, virtual] |
Definition at line 151 of file IDatabaseSchema.h.
{ }
virtual IDatabaseTable& ora::IDatabaseSchema::classVersionTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual IContainerHeaderTable& ora::IDatabaseSchema::containerHeaderTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual void ora::IDatabaseSchema::create | ( | const std::string & | userSchemaVersion | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
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] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual bool ora::IDatabaseSchema::exists | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual IMainTable& ora::IDatabaseSchema::mainTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual IDatabaseTable& ora::IDatabaseSchema::mappingElementTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual IMappingSchema& ora::IDatabaseSchema::mappingSchema | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual IDatabaseTable& ora::IDatabaseSchema::mappingVersionTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual INamingServiceTable& ora::IDatabaseSchema::namingServiceTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual ISequenceTable& ora::IDatabaseSchema::sequenceTable | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
virtual void ora::IDatabaseSchema::setAccessPermission | ( | const std::string & | userName, |
bool | forWrite | ||
) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
coral::ISchema & ora::IDatabaseSchema::storageSchema | ( | ) |
Definition at line 156 of file IDatabaseSchema.cc.
{ return m_schema; }
virtual bool ora::IDatabaseSchema::testDropPermission | ( | ) | [pure virtual] |
Implemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
coral::ISchema& ora::IDatabaseSchema::m_schema [private] |
Reimplemented in ora::OraDatabaseSchema, and ora::PoolDatabaseSchema.
Definition at line 171 of file IDatabaseSchema.h.