@ GuardedBy ( "this" ) private TableSource getTableSource ( String databaseName , String tableName ) { checkHoldsLock ( ) ; checkReadable ( ) ; Action < TableAndMore > tableAction = tableActions . get ( new SchemaTableName ( databaseName , tableName ) ) ; if ( tableAction == null ) { return TableSource . PRE_EXISTING_TABLE ; } switch ( tableAction . getType ( ) ) { case ADD : return TableSource . CREATED_IN_THIS_TRANSACTION ; case ALTER : throw new IllegalStateException ( "Tables are never altered in the current implementation" ) ; case DROP : throw new TableNotFoundException ( new SchemaTableName ( databaseName , tableName ) ) ; case INSERT_EXISTING : return TableSource . PRE_EXISTING_TABLE ; default : throw new IllegalStateException ( "Unknown action type" ) ; } }
This method can only be called when the table is known to exist