org.hsqldb
Class SchemaManager
- java.lang.Object
-
- org.hsqldb.SchemaManager
-
public class SchemaManager extends java.lang.ObjectManages all SCHEMA related database objects- Since:
- 1.8.0
-
-
Field Summary
Fields Modifier and Type Field and Description TabledataChangeTable
-
Constructor Summary
Constructors Constructor and Description SchemaManager(Database database)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddSchemaObject(SchemaObject object)voidcheckColumnIsReferenced(HsqlNameManager.HsqlName tableName, HsqlNameManager.HsqlName name)voidcheckObjectIsReferenced(HsqlNameManager.HsqlName name)voidcheckSchemaNameCanChange(HsqlNameManager.HsqlName name)voidcheckSchemaObjectNotExists(HsqlNameManager.HsqlName name)voidcreatePublicSchema()voidcreateSchema(HsqlNameManager.HsqlName name, Grantee owner)Creates a schema belonging to the given grantee.voidcreateSystemTables()IteratordatabaseObjectIterator(int type)IteratordatabaseObjectIterator(java.lang.String schemaName, int type)voiddropSchema(Session session, java.lang.String name, boolean cascade)voiddropSchemas(Session session, Grantee grantee, boolean cascade)drop all schemas with the given authorisationvoiddropTableOrView(Session session, Table table, boolean cascade)Drops the specified user-defined view or table from this Database object.SchemafindSchema(java.lang.String name)HsqlNameManager.HsqlNamefindSchemaHsqlName(java.lang.String name)SchemaObjectfindSchemaObject(java.lang.String name, java.lang.String schemaName, int type)TablefindSessionTable(Session session, java.lang.String name)Returns the specified session context table.TablefindUserTable(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.Schema[]getAllSchemas()HsqlArrayListgetAllTables(boolean withLobTables)Returns an HsqlArrayList containing references to all non-system tables and views.voidgetCascadingReferencesTo(HsqlNameManager.HsqlName object, OrderedHashSet set)voidgetCascadingReferencesToSchema(HsqlNameManager.HsqlName schema, OrderedHashSet set)HsqlNameManager.HsqlName[]getCatalogAndBaseTableNames()HsqlNameManager.HsqlName[]getCatalogAndBaseTableNames(HsqlNameManager.HsqlName name)HsqlNameManager.HsqlName[]getCatalogNameArray()SchemaObjectgetCharacterSet(Session session, java.lang.String name, java.lang.String schemaName)CollationgetCollation(Session session, java.lang.String name, java.lang.String schemaName)java.lang.String[]getCommentsArray()HsqlNameManager.HsqlNamegetDefaultSchemaHsqlName()intgetDefaultTableType()TypegetDistinctType(java.lang.String name, java.lang.String schemaName, boolean raise)TypegetDomain(java.lang.String name, java.lang.String schemaName, boolean raise)TypegetDomainOrUDT(java.lang.String name, java.lang.String schemaName, boolean raise)long[][]getIndexRoots(Session session)java.lang.String[]getIndexRootsSQL()HsqlNameManager.HsqlNamegetObjectName(java.lang.String name, java.lang.String schema, int type)OrderedHashSetgetReferencesTo(HsqlNameManager.HsqlName object)OrderedHashSetgetReferencesTo(HsqlNameManager.HsqlName table, HsqlNameManager.HsqlName column)MultiValueHashMapgetReferencesToSchema(java.lang.String schemaName)longgetSchemaChangeTimestamp()HsqlNameManager.HsqlNamegetSchemaHsqlName(java.lang.String name)If schemaName is null, return the default schema name, else return the HsqlName object for the schema.java.lang.StringgetSchemaName(java.lang.String name)Same as above, but return stringjava.lang.String[]getSchemaNamesArray()SchemaObjectgetSchemaObject(HsqlNameManager.HsqlName name)SchemaObjectgetSchemaObject(java.lang.String name, java.lang.String schemaName, int type)HsqlNameManager.HsqlNamegetSchemaObjectName(HsqlNameManager.HsqlName schemaName, java.lang.String name, int type, boolean raise)HsqlArrayListgetSchemas(Grantee grantee)NumberSequencegetSequence(java.lang.String name, java.lang.String schemaName, boolean raise)java.lang.String[]getSQLArray()HsqlNameManager.HsqlNamegetSQLJSchemaHsqlName()TablegetTable(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.intgetTableIndex(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)HashMappedListgetTables(java.lang.String schema)java.lang.String[]getTableSpaceSQL()TypegetUserDefinedType(java.lang.String name, java.lang.String schemaName, boolean raise)HsqlNameManager.HsqlNamegetUserSchemaHsqlName(java.lang.String name)TablegetUserTable(Session session, HsqlNameManager.HsqlName name)TablegetUserTable(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.booleanhasSchemas(Grantee grantee)voidrecompileDependentObjects(OrderedHashSet tableSet)voidrecompileDependentObjects(Table table)After addition or removal of columns and indexes all views that reference the table should be recompiled.voidrelease()voidremoveSchemaObject(HsqlNameManager.HsqlName name)voidremoveSchemaObject(HsqlNameManager.HsqlName name, boolean cascade)voidremoveSchemaObjects(OrderedHashSet set)voidrenameSchema(HsqlNameManager.HsqlName name, HsqlNameManager.HsqlName newName)voidrenameSchemaObject(HsqlNameManager.HsqlName name, HsqlNameManager.HsqlName newName)voidreplaceReferences(SchemaObject oldObject, SchemaObject newObject)booleanschemaExists(java.lang.String name)voidsetDefaultSchemaHsqlName(HsqlNameManager.HsqlName name)voidsetDefaultTableType(int type)voidsetIndexRoots(long[][] roots)called after the completion of defragvoidsetSchemaChangeTimestamp()voidsetTable(int index, Table table)voidsetTempIndexRoots(long[][] roots)GranteetoSchemaOwner(java.lang.String name)
-
-
-
Field Detail
-
dataChangeTable
public Table dataChangeTable
-
-
Constructor Detail
-
SchemaManager
public SchemaManager(Database database)
-
-
Method Detail
-
setSchemaChangeTimestamp
public void setSchemaChangeTimestamp()
-
getSchemaChangeTimestamp
public long getSchemaChangeTimestamp()
-
getSQLJSchemaHsqlName
public HsqlNameManager.HsqlName getSQLJSchemaHsqlName()
-
createPublicSchema
public void createPublicSchema()
-
createSchema
public void createSchema(HsqlNameManager.HsqlName name, Grantee owner)
Creates a schema belonging to the given grantee.
-
dropSchema
public void dropSchema(Session session, java.lang.String name, boolean cascade)
-
renameSchema
public void renameSchema(HsqlNameManager.HsqlName name, HsqlNameManager.HsqlName newName)
-
release
public void release()
-
getSchemaNamesArray
public java.lang.String[] getSchemaNamesArray()
-
getAllSchemas
public Schema[] getAllSchemas()
-
getUserSchemaHsqlName
public HsqlNameManager.HsqlName getUserSchemaHsqlName(java.lang.String name)
-
toSchemaOwner
public Grantee toSchemaOwner(java.lang.String name)
-
getDefaultSchemaHsqlName
public HsqlNameManager.HsqlName getDefaultSchemaHsqlName()
-
setDefaultSchemaHsqlName
public void setDefaultSchemaHsqlName(HsqlNameManager.HsqlName name)
-
schemaExists
public boolean schemaExists(java.lang.String name)
-
findSchemaHsqlName
public HsqlNameManager.HsqlName findSchemaHsqlName(java.lang.String name)
-
getSchemaHsqlName
public HsqlNameManager.HsqlName getSchemaHsqlName(java.lang.String name)
If schemaName is null, return the default schema name, else return the HsqlName object for the schema. If schemaName does not exist, throw.
-
getSchemaName
public java.lang.String getSchemaName(java.lang.String name)
Same as above, but return string
-
findSchema
public Schema findSchema(java.lang.String name)
-
dropSchemas
public void dropSchemas(Session session, Grantee grantee, boolean cascade)
drop all schemas with the given authorisation
-
getSchemas
public HsqlArrayList getSchemas(Grantee grantee)
-
hasSchemas
public boolean hasSchemas(Grantee grantee)
-
getAllTables
public HsqlArrayList getAllTables(boolean withLobTables)
Returns an HsqlArrayList containing references to all non-system tables and views. This includes all tables and views registered with this Database.
-
getTables
public HashMappedList getTables(java.lang.String schema)
-
getCatalogNameArray
public HsqlNameManager.HsqlName[] getCatalogNameArray()
-
getCatalogAndBaseTableNames
public HsqlNameManager.HsqlName[] getCatalogAndBaseTableNames()
-
getCatalogAndBaseTableNames
public HsqlNameManager.HsqlName[] getCatalogAndBaseTableNames(HsqlNameManager.HsqlName name)
-
checkSchemaObjectNotExists
public void checkSchemaObjectNotExists(HsqlNameManager.HsqlName name)
-
getTable
public Table getTable(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. It excludes any temp tables created in other Sessions. Throws if the table does not exist in the context.
-
getUserTable
public Table getUserTable(Session session, HsqlNameManager.HsqlName name)
-
getUserTable
public Table getUserTable(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. It excludes system tables and any temp tables created in different Sessions. Throws if the table does not exist in the context.
-
findUserTable
public Table findUserTable(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. It excludes system tables. Returns null if the table does not exist in the context.
-
findSessionTable
public Table findSessionTable(Session session, java.lang.String name)
Returns the specified session context table. Returns null if the table does not exist in the context.
-
dropTableOrView
public void dropTableOrView(Session session, Table table, boolean cascade)
Drops the specified user-defined view or table from this Database object.The process of dropping a table or view includes:
- checking that the specified Session's currently connected User has the right to perform this operation and refusing to proceed if not by throwing.
- checking for referential constraints that conflict with this operation and refusing to proceed if they exist by throwing.
- removing the specified Table from this Database object.
- removing any exported foreign keys Constraint objects held by any tables referenced by the table to be dropped. This is especially important so that the dropped Table ceases to be referenced, eventually allowing its full garbage collection.
- Parameters:
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 View
-
setTable
public void setTable(int index, Table table)
-
getTableIndex
public int getTableIndex(Table table)
Returns index of a table or view in the HashMappedList that contains the table objects for this Database.- Parameters:
table- the Table object- Returns:
- the index of the specified table or view, or -1 if not found
-
recompileDependentObjects
public void recompileDependentObjects(OrderedHashSet tableSet)
-
recompileDependentObjects
public void recompileDependentObjects(Table table)
After addition or removal of columns and indexes all views that reference the table should be recompiled.
-
getCollation
public Collation getCollation(Session session, java.lang.String name, java.lang.String schemaName)
-
getSequence
public NumberSequence getSequence(java.lang.String name, java.lang.String schemaName, boolean raise)
-
getUserDefinedType
public Type getUserDefinedType(java.lang.String name, java.lang.String schemaName, boolean raise)
-
getDomainOrUDT
public Type getDomainOrUDT(java.lang.String name, java.lang.String schemaName, boolean raise)
-
getDomain
public Type getDomain(java.lang.String name, java.lang.String schemaName, boolean raise)
-
getDistinctType
public Type getDistinctType(java.lang.String name, java.lang.String schemaName, boolean raise)
-
getSchemaObject
public SchemaObject getSchemaObject(java.lang.String name, java.lang.String schemaName, int type)
-
getCharacterSet
public SchemaObject getCharacterSet(Session session, java.lang.String name, java.lang.String schemaName)
-
findSchemaObject
public SchemaObject findSchemaObject(java.lang.String name, java.lang.String schemaName, int type)
-
databaseObjectIterator
public Iterator databaseObjectIterator(java.lang.String schemaName, int type)
-
databaseObjectIterator
public Iterator databaseObjectIterator(int type)
-
getReferencesTo
public OrderedHashSet getReferencesTo(HsqlNameManager.HsqlName object)
-
getReferencesTo
public OrderedHashSet getReferencesTo(HsqlNameManager.HsqlName table, HsqlNameManager.HsqlName column)
-
getCascadingReferencesTo
public void getCascadingReferencesTo(HsqlNameManager.HsqlName object, OrderedHashSet set)
-
getCascadingReferencesToSchema
public void getCascadingReferencesToSchema(HsqlNameManager.HsqlName schema, OrderedHashSet set)
-
getReferencesToSchema
public MultiValueHashMap getReferencesToSchema(java.lang.String schemaName)
-
getSchemaObjectName
public HsqlNameManager.HsqlName getSchemaObjectName(HsqlNameManager.HsqlName schemaName, java.lang.String name, int type, boolean raise)
-
getSchemaObject
public SchemaObject getSchemaObject(HsqlNameManager.HsqlName name)
-
checkColumnIsReferenced
public void checkColumnIsReferenced(HsqlNameManager.HsqlName tableName, HsqlNameManager.HsqlName name)
-
checkObjectIsReferenced
public void checkObjectIsReferenced(HsqlNameManager.HsqlName name)
-
checkSchemaNameCanChange
public void checkSchemaNameCanChange(HsqlNameManager.HsqlName name)
-
addSchemaObject
public void addSchemaObject(SchemaObject object)
-
removeSchemaObject
public void removeSchemaObject(HsqlNameManager.HsqlName name, boolean cascade)
-
removeSchemaObjects
public void removeSchemaObjects(OrderedHashSet set)
-
removeSchemaObject
public void removeSchemaObject(HsqlNameManager.HsqlName name)
-
renameSchemaObject
public void renameSchemaObject(HsqlNameManager.HsqlName name, HsqlNameManager.HsqlName newName)
-
replaceReferences
public void replaceReferences(SchemaObject oldObject, SchemaObject newObject)
-
getObjectName
public HsqlNameManager.HsqlName getObjectName(java.lang.String name, java.lang.String schema, int type)
-
getSQLArray
public java.lang.String[] getSQLArray()
-
getTablePropsSQL
public java.lang.String[] getTablePropsSQL(boolean withHeader)
-
getTableSpaceSQL
public java.lang.String[] getTableSpaceSQL()
-
getIndexRootsSQL
public java.lang.String[] getIndexRootsSQL()
-
getCommentsArray
public java.lang.String[] getCommentsArray()
-
setTempIndexRoots
public void setTempIndexRoots(long[][] roots)
-
getIndexRoots
public long[][] getIndexRoots(Session session)
-
setIndexRoots
public void setIndexRoots(long[][] roots)
called after the completion of defrag
-
setDefaultTableType
public void setDefaultTableType(int type)
-
getDefaultTableType
public int getDefaultTableType()
-
createSystemTables
public void createSystemTables()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG