public class SchemaManager
extends java.lang.Object
Title: Dataspace Framework
Description: Dataspace underlying provider implementation.
Copyright: Copyright (c) 2010
Company: StreamScape Technologies
Modifier and Type | Class and Description |
---|---|
static class |
SchemaManager.DropScope |
Modifier and Type | Field and Description |
---|---|
NameManager.ObjectName[] |
catalogNameArray |
Table |
dataChangeTable |
static int |
FLOBS_SCHEMA_DATASPACE_ID |
static int |
LOBS_SCHEMA_DATASPACE_ID |
static int |
NON_EXISTING_DATASPACE_ID |
static int |
RDS_SCHEMA_DATASPACE_ID |
static int |
SCH_SCHEMA_DATASPACE_ID |
long |
schemaChangeTimestamp |
static int |
SDS_SCHEMA_DATASPACE_ID |
static int |
SYS_SCHEMA_DATASPACE_ID |
static int |
SYSTEM_DATASPACE_ID_MAX |
static int |
SYSTEM_SCHEMA_DATASPACE_ID |
Constructor and Description |
---|
SchemaManager(DataspaceStore store) |
Modifier and Type | Method and Description |
---|---|
void |
addReferenceFromTo(NameManager.ObjectName from,
NameManager.ObjectName to) |
void |
addSchemaObject(SchemaObject object) |
void |
checkColumnIsReferenced(NameManager.ObjectName tableName,
NameManager.ObjectName name) |
void |
checkObjectIsReferenced(NameManager.ObjectName name) |
void |
checkSchemaNameCanChange(NameManager.ObjectName name) |
void |
checkSchemaObjectNotExists(NameManager.ObjectName name) |
void |
checkSemanticTypes(java.util.List types,
boolean validate) |
void |
clearStructures() |
DataspaceSchema |
createSchema(com.streamscape.ds.session.Session session,
NameManager.ObjectName name,
DataspaceType type,
EventScope scope,
Trace.Level logLevel,
com.streamscape.ds.rights.Grantee owner)
Creates a schema belonging to the given grantee.
|
void |
createSystemSchemas() |
void |
createSystemTables() |
com.streamscape.ds.lib.Iterator |
databaseObjectIterator(int type) |
com.streamscape.ds.lib.Iterator |
dataspaceObjectIterator(java.lang.String schemaName) |
com.streamscape.ds.lib.Iterator |
dataspaceObjectIterator(java.lang.String schemaName,
int type) |
void |
deleteObjectDefinition(com.streamscape.ds.session.Session session,
NameManager.ObjectName name) |
void |
dropCollection(com.streamscape.ds.session.Session session,
Collection collection,
boolean cascade,
boolean force) |
void |
dropConstraint(com.streamscape.ds.session.Session session,
NameManager.ObjectName name,
boolean cascade)
Drops the index with the specified name.
|
void |
dropIndex(com.streamscape.ds.session.Session session,
NameManager.ObjectName name)
Drops the index with the specified name.
|
void |
dropReplicationTarget(com.streamscape.ds.session.Session session,
ReplicationTarget target,
boolean cascade) |
void |
dropSchema(com.streamscape.ds.session.Session session,
java.lang.String name,
boolean cascade,
boolean force) |
void |
dropSchemas(com.streamscape.ds.session.Session session,
com.streamscape.ds.rights.Grantee grantee,
boolean cascade,
boolean force)
drop all schemas with the given authorisation
|
void |
dropTableOrView(com.streamscape.ds.session.Session session,
Table table,
boolean cascade,
boolean force)
Drops the specified user-defined view or table from this Database object.
|
DataspaceSchema |
findSchema(java.lang.String name) |
NameManager.ObjectName |
findSchemaHsqlName(java.lang.String name) |
SchemaObject |
findSchemaObject(NameManager.ObjectName objectName) |
SchemaObject |
findSchemaObject(java.lang.String name,
java.lang.String schemaName,
int type) |
SchemaObject |
findSchemaObjectInTransaction(com.streamscape.ds.session.Session session,
java.lang.String name)
Returns the specified Object created in current transaction
and not yet available in the schema manager.
|
Collection |
findSessionCollection(com.streamscape.ds.session.Session session,
java.lang.String name)
Returns the specified session context table.
|
Table |
findTransientTable(com.streamscape.ds.session.Session session,
java.lang.String name) |
Collection |
findUserCollection(com.streamscape.ds.session.Session session,
java.lang.String name,
java.lang.String schemaName)
Returns the specified user-defined table or view visible within the
context of the specified schema.
|
Table |
findUserTable(com.streamscape.ds.session.Session session,
java.lang.String name,
java.lang.String schemaName)
Returns the specified user-defined table or view visible within the
context of the specified schema.
|
DataspaceSchema[] |
getAllSchemas() |
com.streamscape.ds.lib.HsqlArrayList |
getAllTables(boolean withLobTables)
Returns an HsqlArrayList containing references to all non-system
tables and views.
|
java.util.Map |
getCascadingReferencesFromObject(SchemaObject object,
boolean withLocal,
boolean withExternal,
int depth,
NameManager.ObjectName schemaName) |
java.util.LinkedHashMap |
getCascadingReferencesFromSchema(NameManager.ObjectName schema,
boolean withLocal,
boolean withExternal,
int depth) |
void |
getCascadingReferencesTo(NameManager.ObjectName object,
com.streamscape.ds.lib.OrderedHashSet set) |
void |
getCascadingReferencesTo(NameManager.ObjectName object,
com.streamscape.ds.lib.OrderedHashSet set,
boolean withLocal) |
java.util.Map |
getCascadingReferencesToObject(NameManager.ObjectName objectName,
boolean withLocal,
boolean withExternal,
int depth) |
void |
getCascadingReferencesToObjectByReferenceLinks(NameManager.ObjectName object,
com.streamscape.ds.lib.OrderedHashSet set,
boolean withLocal,
boolean withExternal) |
java.util.LinkedHashMap |
getCascadingReferencesToObjects(java.util.LinkedHashMap next,
NameManager.ObjectName schema,
boolean withLocal,
boolean withExternal,
int depth) |
java.util.LinkedHashMap |
getCascadingReferencesToSchema(NameManager.ObjectName schema,
boolean withLocal,
boolean withExternal,
int depth) |
void |
getCascadingReferencesToSchema(NameManager.ObjectName schema,
com.streamscape.ds.lib.OrderedHashSet set) |
void |
getCascadingReferencesToSchemaByReferenceLinks(NameManager.ObjectName schema,
com.streamscape.ds.lib.OrderedHashSet set,
boolean withLocal,
boolean withExternal) |
NameManager.ObjectName[] |
getCatalogAndBaseTableNames() |
NameManager.ObjectName[] |
getCatalogAndBaseTableNames(NameManager.ObjectName name) |
NameManager.ObjectName[] |
getCatalogNameArray() |
Collection |
getCollection(com.streamscape.ds.session.Session session,
java.lang.String name,
java.lang.String schema)
Returns the specified user-defined table or view visible within the
context of the specified Session, or any system table of the given
name.
|
java.lang.String[] |
getCommentsArray() |
com.streamscape.ds.core.MemoryModel |
getDefaultMemoryModel() |
NameManager.ObjectName |
getDefaultSchemaHsqlName() |
com.streamscape.ds.types.Type |
getDomain(java.lang.String name,
java.lang.String schemaName,
boolean raise) |
com.streamscape.ds.types.Type |
getDomainOrDistinctType(java.lang.String name,
java.lang.String schemaName,
boolean raise) |
com.streamscape.ds.types.Type |
getDomainOrUDT(java.lang.String name,
java.lang.String schemaName,
boolean raise) |
long[][] |
getIndexRoots(com.streamscape.ds.session.Session session) |
java.lang.String[] |
getIndexRootsSQL(int loggedStatements) |
com.streamscape.ds.lib.OrderedHashSet |
getReferencesTo(NameManager.ObjectName object) |
com.streamscape.ds.lib.OrderedHashSet |
getReferencesTo(NameManager.ObjectName table,
NameManager.ObjectName column) |
void |
getReferencesTo(NameManager.ObjectName object,
com.streamscape.ds.lib.OrderedHashSet set,
boolean withLocal,
boolean withExternal,
NameManager.ObjectName schemaName) |
long |
getSchemaChangeTimestamp() |
NameManager.ObjectName |
getSchemaHsqlName(java.lang.String name) |
NameManager.ObjectName |
getSchemaHsqlName(java.lang.String name,
DataspaceType type)
If schemaName is null, return the default schema name, else return
the HsqlName object for the schema.
|
java.lang.String |
getSchemaName(java.lang.String name)
Same as above, but return string
|
java.lang.String[] |
getSchemaNamesArray() |
SchemaObject |
getSchemaObject(NameManager.ObjectName name) |
SchemaObject |
getSchemaObject(java.lang.String name,
java.lang.String schemaName,
int type) |
NameManager.ObjectName |
getSchemaObjectName(NameManager.ObjectName schemaName,
java.lang.String name,
int type,
boolean raise) |
SchemaObjectSet |
getSchemaObjectSet(DataspaceSchema schema,
int type) |
com.streamscape.ds.lib.HsqlArrayList |
getSchemas(com.streamscape.ds.rights.Grantee grantee) |
java.util.HashSet |
getSemanticTypeReferences(SemanticType semanticType) |
java.util.List |
getSemanticTypeReferencesTo(NameManager.ObjectName name) |
NumberSequence |
getSequence(java.lang.String name,
java.lang.String schemaName,
boolean raise) |
void |
getSQLArray(java.util.List list) |
Table |
getTable(com.streamscape.ds.session.Session session,
java.lang.String name,
java.lang.String schema)
Returns the specified user-defined table or view visible within the
context of the specified Session, or any system table of the given
name.
|
int |
getTableIndex(Table table)
Returns index of a table or view in the HashMappedList that
contains the table objects for this Database.
|
java.lang.String[] |
getTablePropsSQL(boolean withHeader,
int loggedStatements) |
com.streamscape.ds.lib.HashMappedList |
getTables(java.lang.String schema) |
com.streamscape.ds.types.Type |
getUserDefinedType(java.lang.String name,
java.lang.String schemaName,
boolean raise) |
NameManager.ObjectName |
getUserSchemaHsqlName(java.lang.String name) |
Table |
getUserTable(com.streamscape.ds.session.Session session,
NameManager.ObjectName name) |
Table |
getUserTable(com.streamscape.ds.session.Session session,
java.lang.String name,
java.lang.String schema)
Returns the specified user-defined table or view visible within the
context of the specified Session.
|
boolean |
hasSchemas(com.streamscape.ds.rights.Grantee grantee) |
java.util.List |
listTransientCollections() |
java.lang.String |
loadObjectDefinition(com.streamscape.ds.session.Session session,
SchemaObject object) |
Pair |
loadObjectTimestamps(com.streamscape.ds.session.Session session,
SchemaObject object) |
void |
recompileDependentObjects(com.streamscape.ds.lib.OrderedHashSet tableSet) |
void |
recompileDependentObjects(Table table) |
void |
recompileDependentObjects(Table table,
boolean throwErrorIfFailed)
After addition or removal of columns and indexes all views that
reference the table should be recompiled.
|
void |
recompileDependentObjectsWithNames(com.streamscape.ds.lib.OrderedHashSet namesSet,
boolean throwErrorIfFailed) |
void |
registerSemanticTypeAsType(SemanticType semanticType,
TSpace schema) |
void |
releaseObjectId(SchemaObject object) |
void |
removeDependentObjects(NameManager.ObjectName name) |
void |
removeExportedKeys(Table toDrop)
Removes any foreign key Constraint objects (exported keys) held by any
tables referenced by the specified table.
|
void |
removeExternalReferencesToSchema(NameManager.ObjectName schemaName) |
void |
removeReferenceFromTo(NameManager.ObjectName from,
NameManager.ObjectName to) |
void |
removeSchemaObject(NameManager.ObjectName name) |
void |
removeSchemaObject(NameManager.ObjectName name,
SchemaManager.DropScope dropScope) |
void |
removeSchemaObjects(com.streamscape.ds.lib.OrderedHashSet set) |
void |
renameSchema(NameManager.ObjectName name,
NameManager.ObjectName newName) |
void |
renameSchemaObject(NameManager.ObjectName name,
NameManager.ObjectName newName) |
void |
replaceReferences(SchemaObject oldObject,
SchemaObject newObject) |
void |
replaceVTable(com.streamscape.ds.session.Session session,
VirtualTableCollection object) |
void |
saveObjectDefinition(com.streamscape.ds.session.Session session,
SchemaObject object,
java.lang.String dsql) |
boolean |
schemaExists(java.lang.String name) |
void |
setDefaultMemoryModel(com.streamscape.ds.core.MemoryModel model) |
void |
setDefaultSchemaHsqlName(NameManager.ObjectName name) |
void |
setIndexRoots(long[][] roots)
called after the completion of defrag
|
void |
setSchemaChangeTimestamp() |
void |
setTable(int index,
Table table) |
void |
setTempIndexRoots(long[][] roots) |
com.streamscape.ds.rights.Grantee |
toSchemaOwner(java.lang.String name) |
void |
unregisterSemanticTypeAsType(java.lang.String semanticTypeName) |
void |
updateObjectDefinition(com.streamscape.ds.session.Session session,
SchemaObject object,
java.lang.String dsql) |
public static final int NON_EXISTING_DATASPACE_ID
public static final int SYS_SCHEMA_DATASPACE_ID
public static final int SDS_SCHEMA_DATASPACE_ID
public static final int RDS_SCHEMA_DATASPACE_ID
public static final int SYSTEM_SCHEMA_DATASPACE_ID
public static final int LOBS_SCHEMA_DATASPACE_ID
public static final int FLOBS_SCHEMA_DATASPACE_ID
public static final int SCH_SCHEMA_DATASPACE_ID
public static final int SYSTEM_DATASPACE_ID_MAX
public long schemaChangeTimestamp
public NameManager.ObjectName[] catalogNameArray
public Table dataChangeTable
public SchemaManager(DataspaceStore store)
public void createSystemSchemas()
public void setSchemaChangeTimestamp()
public long getSchemaChangeTimestamp()
public DataspaceSchema createSchema(com.streamscape.ds.session.Session session, NameManager.ObjectName name, DataspaceType type, EventScope scope, Trace.Level logLevel, com.streamscape.ds.rights.Grantee owner)
public void dropSchema(com.streamscape.ds.session.Session session, java.lang.String name, boolean cascade, boolean force)
public void renameSchema(NameManager.ObjectName name, NameManager.ObjectName newName)
public void clearStructures()
public java.lang.String[] getSchemaNamesArray()
public DataspaceSchema[] getAllSchemas()
public NameManager.ObjectName getUserSchemaHsqlName(java.lang.String name)
public com.streamscape.ds.rights.Grantee toSchemaOwner(java.lang.String name)
public NameManager.ObjectName getDefaultSchemaHsqlName()
public void setDefaultSchemaHsqlName(NameManager.ObjectName name)
public boolean schemaExists(java.lang.String name)
public NameManager.ObjectName findSchemaHsqlName(java.lang.String name)
public NameManager.ObjectName getSchemaHsqlName(java.lang.String name)
public NameManager.ObjectName getSchemaHsqlName(java.lang.String name, DataspaceType type)
public java.lang.String getSchemaName(java.lang.String name)
public DataspaceSchema findSchema(java.lang.String name)
public void dropSchemas(com.streamscape.ds.session.Session session, com.streamscape.ds.rights.Grantee grantee, boolean cascade, boolean force)
public com.streamscape.ds.lib.HsqlArrayList getSchemas(com.streamscape.ds.rights.Grantee grantee)
public boolean hasSchemas(com.streamscape.ds.rights.Grantee grantee)
public com.streamscape.ds.lib.HsqlArrayList getAllTables(boolean withLobTables)
public com.streamscape.ds.lib.HashMappedList getTables(java.lang.String schema)
public NameManager.ObjectName[] getCatalogNameArray()
public NameManager.ObjectName[] getCatalogAndBaseTableNames()
public NameManager.ObjectName[] getCatalogAndBaseTableNames(NameManager.ObjectName name)
public SchemaObjectSet getSchemaObjectSet(DataspaceSchema schema, int type)
public void checkSchemaObjectNotExists(NameManager.ObjectName name)
public Table findTransientTable(com.streamscape.ds.session.Session session, java.lang.String name)
public java.util.List listTransientCollections()
public Table getTable(com.streamscape.ds.session.Session session, java.lang.String name, java.lang.String schema)
public Collection getCollection(com.streamscape.ds.session.Session session, java.lang.String name, java.lang.String schema)
public Table getUserTable(com.streamscape.ds.session.Session session, NameManager.ObjectName name)
public Table getUserTable(com.streamscape.ds.session.Session session, java.lang.String name, java.lang.String schema)
public Table findUserTable(com.streamscape.ds.session.Session session, java.lang.String name, java.lang.String schemaName)
public Collection findUserCollection(com.streamscape.ds.session.Session session, java.lang.String name, java.lang.String schemaName)
public Collection findSessionCollection(com.streamscape.ds.session.Session session, java.lang.String name)
public SchemaObject findSchemaObjectInTransaction(com.streamscape.ds.session.Session session, java.lang.String name)
public void dropTableOrView(com.streamscape.ds.session.Session session, Table table, boolean cascade, boolean force)
The process of dropping a table or view includes:
session
- the connected context in which to perform this operationtable
- if true and if the Table to drop does not exist, fail
silently, else throwcascade
- true if the name argument refers to a Viewpublic void dropCollection(com.streamscape.ds.session.Session session, Collection collection, boolean cascade, boolean force)
public void dropReplicationTarget(com.streamscape.ds.session.Session session, ReplicationTarget target, boolean cascade)
public void setTable(int index, Table table)
public int getTableIndex(Table table)
table
- the Table objectpublic void recompileDependentObjects(com.streamscape.ds.lib.OrderedHashSet tableSet)
public void recompileDependentObjects(Table table)
public void recompileDependentObjects(Table table, boolean throwErrorIfFailed)
public void recompileDependentObjectsWithNames(com.streamscape.ds.lib.OrderedHashSet namesSet, boolean throwErrorIfFailed)
public NumberSequence getSequence(java.lang.String name, java.lang.String schemaName, boolean raise)
public com.streamscape.ds.types.Type getUserDefinedType(java.lang.String name, java.lang.String schemaName, boolean raise)
public com.streamscape.ds.types.Type getDomainOrUDT(java.lang.String name, java.lang.String schemaName, boolean raise)
public com.streamscape.ds.types.Type getDomain(java.lang.String name, java.lang.String schemaName, boolean raise)
public com.streamscape.ds.types.Type getDomainOrDistinctType(java.lang.String name, java.lang.String schemaName, boolean raise)
public SchemaObject getSchemaObject(java.lang.String name, java.lang.String schemaName, int type)
public SchemaObject findSchemaObject(NameManager.ObjectName objectName)
public SchemaObject findSchemaObject(java.lang.String name, java.lang.String schemaName, int type)
public void dropIndex(com.streamscape.ds.session.Session session, NameManager.ObjectName name)
public void dropConstraint(com.streamscape.ds.session.Session session, NameManager.ObjectName name, boolean cascade)
public void removeDependentObjects(NameManager.ObjectName name)
public void removeExportedKeys(Table toDrop)
This method is called as the last step of a successful call to dropTable() in order to ensure that the dropped Table ceases to be referenced when enforcing referential integrity.
toDrop
- The table to which other tables may be holding keys.
This is a table that is in the process of being dropped.public com.streamscape.ds.lib.Iterator dataspaceObjectIterator(java.lang.String schemaName, int type)
public com.streamscape.ds.lib.Iterator dataspaceObjectIterator(java.lang.String schemaName)
public com.streamscape.ds.lib.Iterator databaseObjectIterator(int type)
public void removeExternalReferencesToSchema(NameManager.ObjectName schemaName)
public void removeReferenceFromTo(NameManager.ObjectName from, NameManager.ObjectName to)
public void addReferenceFromTo(NameManager.ObjectName from, NameManager.ObjectName to)
public com.streamscape.ds.lib.OrderedHashSet getReferencesTo(NameManager.ObjectName object)
public void getReferencesTo(NameManager.ObjectName object, com.streamscape.ds.lib.OrderedHashSet set, boolean withLocal, boolean withExternal, NameManager.ObjectName schemaName)
public com.streamscape.ds.lib.OrderedHashSet getReferencesTo(NameManager.ObjectName table, NameManager.ObjectName column)
public void getCascadingReferencesTo(NameManager.ObjectName object, com.streamscape.ds.lib.OrderedHashSet set)
public void getCascadingReferencesTo(NameManager.ObjectName object, com.streamscape.ds.lib.OrderedHashSet set, boolean withLocal)
public void getCascadingReferencesToSchema(NameManager.ObjectName schema, com.streamscape.ds.lib.OrderedHashSet set)
public void getCascadingReferencesToSchemaByReferenceLinks(NameManager.ObjectName schema, com.streamscape.ds.lib.OrderedHashSet set, boolean withLocal, boolean withExternal)
public void getCascadingReferencesToObjectByReferenceLinks(NameManager.ObjectName object, com.streamscape.ds.lib.OrderedHashSet set, boolean withLocal, boolean withExternal)
public java.util.LinkedHashMap getCascadingReferencesToSchema(NameManager.ObjectName schema, boolean withLocal, boolean withExternal, int depth)
public java.util.Map getCascadingReferencesToObject(NameManager.ObjectName objectName, boolean withLocal, boolean withExternal, int depth)
public java.util.LinkedHashMap getCascadingReferencesToObjects(java.util.LinkedHashMap next, NameManager.ObjectName schema, boolean withLocal, boolean withExternal, int depth)
public java.util.LinkedHashMap getCascadingReferencesFromSchema(NameManager.ObjectName schema, boolean withLocal, boolean withExternal, int depth)
public java.util.Map getCascadingReferencesFromObject(SchemaObject object, boolean withLocal, boolean withExternal, int depth, NameManager.ObjectName schemaName)
public NameManager.ObjectName getSchemaObjectName(NameManager.ObjectName schemaName, java.lang.String name, int type, boolean raise)
public SchemaObject getSchemaObject(NameManager.ObjectName name)
public void checkColumnIsReferenced(NameManager.ObjectName tableName, NameManager.ObjectName name)
public void checkObjectIsReferenced(NameManager.ObjectName name)
public void checkSchemaNameCanChange(NameManager.ObjectName name)
public void addSchemaObject(SchemaObject object)
public void replaceVTable(com.streamscape.ds.session.Session session, VirtualTableCollection object)
public void releaseObjectId(SchemaObject object)
public void removeSchemaObject(NameManager.ObjectName name, SchemaManager.DropScope dropScope)
public void removeSchemaObjects(com.streamscape.ds.lib.OrderedHashSet set)
public void removeSchemaObject(NameManager.ObjectName name)
public void renameSchemaObject(NameManager.ObjectName name, NameManager.ObjectName newName)
public void replaceReferences(SchemaObject oldObject, SchemaObject newObject)
public void getSQLArray(java.util.List list)
public java.lang.String[] getTablePropsSQL(boolean withHeader, int loggedStatements)
public java.lang.String[] getIndexRootsSQL(int loggedStatements)
public java.lang.String[] getCommentsArray()
public void setTempIndexRoots(long[][] roots)
public long[][] getIndexRoots(com.streamscape.ds.session.Session session)
public void setIndexRoots(long[][] roots)
public void setDefaultMemoryModel(com.streamscape.ds.core.MemoryModel model)
public com.streamscape.ds.core.MemoryModel getDefaultMemoryModel()
public void createSystemTables()
public java.util.HashSet getSemanticTypeReferences(SemanticType semanticType)
public java.util.List getSemanticTypeReferencesTo(NameManager.ObjectName name)
public void registerSemanticTypeAsType(SemanticType semanticType, TSpace schema)
public void unregisterSemanticTypeAsType(java.lang.String semanticTypeName)
public void checkSemanticTypes(java.util.List types, boolean validate)
public void saveObjectDefinition(com.streamscape.ds.session.Session session, SchemaObject object, java.lang.String dsql)
public void updateObjectDefinition(com.streamscape.ds.session.Session session, SchemaObject object, java.lang.String dsql)
public java.lang.String loadObjectDefinition(com.streamscape.ds.session.Session session, SchemaObject object)
public Pair loadObjectTimestamps(com.streamscape.ds.session.Session session, SchemaObject object)
public void deleteObjectDefinition(com.streamscape.ds.session.Session session, NameManager.ObjectName name)
Copyright © 2015-2024 StreamScape Technologies. All rights reserved.