Package tilda.db.metadata
Class SchemaMeta
- java.lang.Object
-
- tilda.db.metadata.SchemaMeta
-
public class SchemaMeta extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,TableMeta>
_DBTables
protected java.util.Map<java.lang.String,ViewMeta>
_DBViews
java.lang.String
_SchemaName
-
Constructor Summary
Constructors Constructor Description SchemaMeta(java.lang.String SchemaName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TableMeta
getTableMeta(java.lang.String TableName)
java.util.Collection<TableMeta>
getTableMetas()
java.lang.String[]
getTableNamesSorted()
This method returns the sorted list of schema names.ViewMeta
getViewMeta(java.lang.String ViewName)
java.util.Collection<ViewMeta>
getViewMetas()
java.lang.String[]
getViewNamesSorted()
This method returns the sorted list of schema names.void
load(Connection C, java.lang.String TablePattern)
protected static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.String,ColumnMeta>>>
loadColumns(Connection C, java.sql.DatabaseMetaData meta, java.lang.String SchemaName, java.lang.String TableName)
Load columns for the whole db, schema or table.protected static java.util.Map<java.lang.String,FKMeta>
loadForeignKeys(java.sql.DatabaseMetaData meta, java.lang.String SchemaName, java.lang.String TableName, boolean Outgoing)
Load outgoing/incoming FKs for the whole db, schema or table.boolean
moveTableMetaFromOtherSchema(DatabaseMeta DBMeta, TableMeta src)
boolean
moveViewMetaFromOtherSchema(DatabaseMeta DBMeta, ViewMeta src)
boolean
renameTable(DatabaseMeta DBMeta, TableMeta src, java.lang.String newName)
boolean
renameTableColumn(DatabaseMeta DBMeta, TableMeta src, java.lang.String colName, java.lang.String newName)
boolean
renameView(DatabaseMeta DBMeta, ViewMeta src, java.lang.String newName)
-
-
-
Method Detail
-
load
public void load(Connection C, java.lang.String TablePattern) throws java.lang.Exception
- Throws:
java.lang.Exception
-
loadColumns
protected static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.String,ColumnMeta>>> loadColumns(Connection C, java.sql.DatabaseMetaData meta, java.lang.String SchemaName, java.lang.String TableName) throws java.lang.Exception
Load columns for the whole db, schema or table. It is encouraged for larger databases to read ALL columns across the entire database, and then assign them to specific tables. This performs 5-10x better than looking up for each table.- Parameters:
C
-meta
-SchemaName
-TableName
-- Returns:
- Throws:
java.lang.Exception
-
loadForeignKeys
protected static java.util.Map<java.lang.String,FKMeta> loadForeignKeys(java.sql.DatabaseMetaData meta, java.lang.String SchemaName, java.lang.String TableName, boolean Outgoing) throws java.sql.SQLException, java.lang.Exception
Load outgoing/incoming FKs for the whole db, schema or table. It is encouraged for larger databases to read ALL foreign keys across the entire database, and then assign them to specific tables. This performs 5-10x better than looking up for each table.- Parameters:
meta
-SchemaName
-TableName
-Outgoing
-- Returns:
- Throws:
java.sql.SQLException
java.lang.Exception
-
getTableMeta
public TableMeta getTableMeta(java.lang.String TableName)
-
getTableMetas
public java.util.Collection<TableMeta> getTableMetas()
-
getTableNamesSorted
public java.lang.String[] getTableNamesSorted()
This method returns the sorted list of schema names. Since it sorts that list each time this method is called the caller should cache the results if needed multiple times.- Returns:
-
getViewMeta
public ViewMeta getViewMeta(java.lang.String ViewName)
-
getViewMetas
public java.util.Collection<ViewMeta> getViewMetas()
-
getViewNamesSorted
public java.lang.String[] getViewNamesSorted()
This method returns the sorted list of schema names. Since it sorts that list each time this method is called the caller should cache the results if needed multiple times.- Returns:
-
moveTableMetaFromOtherSchema
public boolean moveTableMetaFromOtherSchema(DatabaseMeta DBMeta, TableMeta src)
-
renameTable
public boolean renameTable(DatabaseMeta DBMeta, TableMeta src, java.lang.String newName)
-
renameTableColumn
public boolean renameTableColumn(DatabaseMeta DBMeta, TableMeta src, java.lang.String colName, java.lang.String newName)
-
moveViewMetaFromOtherSchema
public boolean moveViewMetaFromOtherSchema(DatabaseMeta DBMeta, ViewMeta src)
-
renameView
public boolean renameView(DatabaseMeta DBMeta, ViewMeta src, java.lang.String newName)
-
-