public static void initializeDatabase ( String username , String defaultCatalogName , String defaultSchemaName , Database database ) throws DatabaseException { if ( ( ( defaultCatalogName != null ) || ( defaultSchemaName != null ) ) && ! ( database . getConnection ( ) instanceof OfflineConnection ) ) { if ( database instanceof OracleDatabase ) { String schema = defaultCatalogName ; if ( schema == null ) { schema = defaultSchemaName ; } ExecutorService . getInstance ( ) . getExecutor ( database ) . execute ( new RawSqlStatement ( "ALTER SESSION SET CURRENT_SCHEMA=" + database . escapeObjectName ( schema , Schema . class ) ) ) ; } else if ( database instanceof PostgresDatabase && defaultSchemaName != null ) { ExecutorService . getInstance ( ) . getExecutor ( database ) . execute ( new RawSqlStatement ( "SET SEARCH_PATH TO " + database . escapeObjectName ( defaultSchemaName , Schema . class ) ) ) ; } else if ( database instanceof AbstractDb2Database ) { String schema = defaultCatalogName ; if ( schema == null ) { schema = defaultSchemaName ; } ExecutorService . getInstance ( ) . getExecutor ( database ) . execute ( new RawSqlStatement ( "SET CURRENT SCHEMA " + schema ) ) ; } else if ( database instanceof MySQLDatabase ) { String schema = defaultCatalogName ; if ( schema == null ) { schema = defaultSchemaName ; } ExecutorService . getInstance ( ) . getExecutor ( database ) . execute ( new RawSqlStatement ( "USE " + schema ) ) ; } } }
Executes RawSqlStatements particular to each database engine to set the default schema for the given Database