Class SchemaMeta


  • public class SchemaMeta
    extends java.lang.Object
    • Field Detail

      • _SchemaName

        public java.lang.String _SchemaName
      • _DBTables

        protected java.util.Map<java.lang.String,​TableMeta> _DBTables
      • _DBViews

        protected java.util.Map<java.lang.String,​ViewMeta> _DBViews
    • Constructor Detail

      • SchemaMeta

        public SchemaMeta​(java.lang.String SchemaName)
    • 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)