void recompileDependentObjects ( Table table ) { OrderedHashSet set = getReferencingObjects ( table . getName ( ) ) ; Session session = database . sessionManager . getSysSession ( ) ; for ( int i = 0 ; i < set . size ( ) ; i ++ ) { HsqlName name = ( HsqlName ) set . get ( i ) ; switch ( name . type ) { case SchemaObject . VIEW : case SchemaObject . CONSTRAINT : case SchemaObject . ASSERTION : SchemaObject object = getSchemaObject ( name ) ; object . compile ( session ) ; break ; } } HsqlArrayList list = getAllTables ( ) ; for ( int i = 0 ; i < list . size ( ) ; i ++ ) { Table t = ( Table ) list . get ( i ) ; t . updateConstraintPath ( ) ; } }
After addition or removal of columns and indexes all views that reference the table should be recompiled .