public Set < ? extends Table > getImportedTables ( ) throws SQLException { synchronized ( getImportedTablesLock ) { if ( getImportedTablesCache == null ) { Set < Table > newImportedTables = new LinkedHashSet <> ( ) ; Catalog catalog = schema . getCatalog ( ) ; DatabaseMetaData metaData = catalog . getMetaData ( ) ; try ( ResultSet results = schema . getCatalog ( ) . getMetaData ( ) . getMetaData ( ) . getImportedKeys ( schema . getCatalog ( ) . getName ( ) , schema . getName ( ) , name ) ) { while ( results . next ( ) ) { String pkCat = results . getString ( "PKTABLE_CAT" ) ; Catalog pkCatalog = pkCat == null ? catalog : metaData . getCatalog ( pkCat ) ; newImportedTables . add ( pkCatalog . getSchema ( results . getString ( "PKTABLE_SCHEM" ) ) . getTable ( results . getString ( "PKTABLE_NAME" ) ) ) ; } } getImportedTablesCache = AoCollections . optimalUnmodifiableSet ( newImportedTables ) ; } return getImportedTablesCache ; } }
Gets the set of tables that this table depends on .