public static SelectImpl create(Database db, Connection connection, String sql) throws SQLException { // TODO use DbClient#newScrollingSelectStatement() PreparedStatement pstmt = connection.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); pstmt.setFetchSize(db.getDialect().getScrollDefaultFetchSize()); return new SelectImpl(pstmt); } }
@VisibleForTesting List<String> generateSql() { return new DropColumnsBuilder(getDatabase().getDialect(), "project_measures", "rules_category_id", "tendency", "measure_date", "url", "rule_priority", "characteristic_id", "rule_id") .build(); }
@Before public void wireMocksTogether() { when(database.getDialect()).thenReturn(dialect); when(databaseVersion.getVersion()).thenReturn(Optional.of(150L)); }
@Before public void setUp() { // Some databases have unique names of indexes, so table name is not declared // when dropping an index ("drop index <index name>"). Because of that MySQL is // used in the test so that the table name can also be verified when(db.getDialect()).thenReturn(new MySql()); }
@Before public void setUp() { // Some databases have unique names of indexes, so table name is not declared // when dropping an index ("drop index <index name>"). Because of that MySQL is // used in the test so that the table name can also be verified when(db.getDialect()).thenReturn(new MySql()); }
@Before public void setUp() { // Some databases have unique names of indexes, so table name is not declared // when dropping an index ("drop index <index name>"). Because of that MySQL is // used in the test so that the table name can also be verified when(db.getDialect()).thenReturn(new MySql()); }
@Test public void verify_generated_sql_on_postgresql() throws SQLException { when(database.getDialect()).thenReturn(new PostgreSql()); DdlChange.Context context = mock(DdlChange.Context.class); underTest.execute(context); verify(context).execute( singletonList("ALTER TABLE snapshots DROP COLUMN project_id, DROP COLUMN root_project_id")); }
@Test public void verify_generated_sql_on_postgresql() throws SQLException { when(database.getDialect()).thenReturn(new PostgreSql()); DdlChange.Context context = mock(DdlChange.Context.class); underTest.execute(context); verify(context).execute(singletonList("ALTER TABLE users DROP COLUMN remember_token, DROP COLUMN remember_token_expires_at")); } }
@Test public void when_SQ_is_connected_to_Postgres_an_ISE_should_NOT_be_thrown() { when(database.getDialect()).thenReturn(new Oracle()); underTest.start(); } }
@Override public void execute(Context context) throws SQLException { context.execute(new AddColumnsBuilder(getDatabase().getDialect(), TABLE_QUALITY_PROFILES) .addColumn(newBigIntegerColumnDefBuilder().setColumnName("user_updated_at").setIsNullable(true).build()) .build()); }
@Override public void execute(Context context) throws SQLException { context.execute(new AddColumnsBuilder(getDatabase().getDialect(), TABLE_QUALITY_PROFILES) .addColumn(newBigIntegerColumnDefBuilder().setColumnName("last_used").setIsNullable(true).build()) .build()); }
@Override public void execute(DdlChange.Context context) throws SQLException { context.execute( new AlterColumnsBuilder(getDatabase().getDialect(), "rules_profiles") .updateColumn(newVarcharColumnDefBuilder() .setColumnName("organization_uuid") .setLimit(UUID_SIZE) .setIsNullable(false) .build()) .build()); } }
@Override public void execute(Context context) throws SQLException { context.execute(new AddColumnsBuilder(getDatabase().getDialect(), TABLE_EVENTS) .addColumn(newVarcharColumnDefBuilder().setColumnName("analysis_uuid").setLimit(UUID_VARCHAR_SIZE).setIgnoreOracleUnit(true).build()) .build()); }
@Override public void execute(DdlChange.Context context) throws SQLException { context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), "projects") .updateColumn(newVarcharColumnDefBuilder().setColumnName("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build()) .build()); } }
@Override public void execute(Context context) throws SQLException { context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE_MEASURES) .updateColumn(newVarcharColumnDefBuilder().setColumnName("component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).setIgnoreOracleUnit(true).build()) .build()); }
@Override public void execute(Context context) throws SQLException { context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE_MEASURES) .updateColumn(newVarcharColumnDefBuilder().setColumnName("analysis_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).setIgnoreOracleUnit(true).build()) .build()); }
@Override public void execute(Context context) throws SQLException { context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE) .updateColumn(newVarcharColumnDefBuilder().setColumnName("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).setIgnoreOracleUnit(true).build()) .build()); }
@Override public void execute(Context context) throws SQLException { context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE_PROJECTS) .updateColumn(newVarcharColumnDefBuilder().setColumnName("module_uuid_path").setLimit(1500).setIsNullable(true).setIgnoreOracleUnit(true).build()) .build()); }
@Override public void execute(Context context) throws SQLException { context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE_SNAPSHOTS) .updateColumn(newVarcharColumnDefBuilder().setColumnName("uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).setIgnoreOracleUnit(true).build()) .build()); }
@Override public void execute(Context context) throws SQLException { context.execute(new AddColumnsBuilder(getDatabase().getDialect(), TABLE_CE_ACTIVITY) .addColumn(newVarcharColumnDefBuilder().setColumnName("error_message").setLimit(1000).setIgnoreOracleUnit(true).build()) .addColumn(newClobColumnDefBuilder().setColumnName("error_stacktrace").setIsNullable(true).build()) .build()); }