Search in sources :

Example 1 with Oracle

use of org.sonar.db.dialect.Oracle in project sonarqube by SonarSource.

the class BooleanColumnDefTest method generate_sql_type.

@Test
public void generate_sql_type() throws Exception {
    BooleanColumnDef def = new BooleanColumnDef.Builder().setColumnName("enabled").setIsNullable(true).build();
    assertThat(def.generateSqlType(new H2())).isEqualTo("BOOLEAN");
    assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("BOOLEAN");
    assertThat(def.generateSqlType(new MsSql())).isEqualTo("BIT");
    assertThat(def.generateSqlType(new MySql())).isEqualTo("TINYINT(1)");
    assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER(1)");
}
Also used : PostgreSql(org.sonar.db.dialect.PostgreSql) MySql(org.sonar.db.dialect.MySql) H2(org.sonar.db.dialect.H2) MsSql(org.sonar.db.dialect.MsSql) Oracle(org.sonar.db.dialect.Oracle) Test(org.junit.Test)

Example 2 with Oracle

use of org.sonar.db.dialect.Oracle in project sonarqube by SonarSource.

the class DecimalColumnDefTest method generate_sql_type.

@Test
public void generate_sql_type() throws Exception {
    DecimalColumnDef def = new DecimalColumnDef.Builder().setColumnName("issues").setPrecision(30).setScale(20).setIsNullable(true).build();
    assertThat(def.generateSqlType(new H2())).isEqualTo("DOUBLE");
    assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("NUMERIC (30,20)");
    assertThat(def.generateSqlType(new MsSql())).isEqualTo("DECIMAL (30,20)");
    assertThat(def.generateSqlType(new MySql())).isEqualTo("DECIMAL (30,20)");
    assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMERIC (30,20)");
}
Also used : PostgreSql(org.sonar.db.dialect.PostgreSql) MySql(org.sonar.db.dialect.MySql) H2(org.sonar.db.dialect.H2) MsSql(org.sonar.db.dialect.MsSql) Oracle(org.sonar.db.dialect.Oracle) Test(org.junit.Test)

Example 3 with Oracle

use of org.sonar.db.dialect.Oracle in project sonarqube by SonarSource.

the class DropIndexBuilderTest method drop_index_in_table.

@Test
public void drop_index_in_table() {
    verifySql(new H2(), "DROP INDEX IF EXISTS issues_key");
    verifySql(new MsSql(), "DROP INDEX issues_key ON issues");
    verifySql(new MySql(), "DROP INDEX issues_key ON issues");
    verifySql(new Oracle(), "DROP INDEX issues_key");
    verifySql(new PostgreSql(), "DROP INDEX IF EXISTS issues_key");
}
Also used : PostgreSql(org.sonar.db.dialect.PostgreSql) MySql(org.sonar.db.dialect.MySql) H2(org.sonar.db.dialect.H2) MsSql(org.sonar.db.dialect.MsSql) Oracle(org.sonar.db.dialect.Oracle) Test(org.junit.Test)

Example 4 with Oracle

use of org.sonar.db.dialect.Oracle in project sonarqube by SonarSource.

the class DatabaseCheckerTest method requires_oracle_driver_11_2.

@Test
public void requires_oracle_driver_11_2() throws Exception {
    Database db = mockDb(new Oracle(), 11, 2, "11.2.0.0.1");
    new DatabaseChecker(db).start();
    // no error
    db = mockDb(new Oracle(), 11, 2, "11.3.1");
    new DatabaseChecker(db).start();
    // no error
    db = mockDb(new Oracle(), 11, 2, "12.0.2");
    new DatabaseChecker(db).start();
    // no error
    db = mockDb(new Oracle(), 11, 2, "11.1.0.2");
    try {
        new DatabaseChecker(db).start();
        fail();
    } catch (MessageException e) {
        assertThat(e).hasMessage("Unsupported Oracle driver version: 11.1.0.2. Minimal supported version is 11.2.");
    }
}
Also used : MessageException(org.sonar.api.utils.MessageException) Oracle(org.sonar.db.dialect.Oracle) Test(org.junit.Test)

Example 5 with Oracle

use of org.sonar.db.dialect.Oracle in project sonarqube by SonarSource.

the class DatabaseCheckerTest method requires_oracle_11g_or_greater.

@Test
public void requires_oracle_11g_or_greater() throws Exception {
    // oracle 11.0 is ok
    Database db = mockDb(new Oracle(), 11, 0, "11.2.0.0.1");
    new DatabaseChecker(db).start();
    // oracle 11.1 is ok
    db = mockDb(new Oracle(), 11, 1, "11.2.0.0.1");
    new DatabaseChecker(db).start();
    // oracle 11.2 is ok
    db = mockDb(new Oracle(), 11, 2, "11.2.0.0.1");
    new DatabaseChecker(db).start();
    // oracle 12 is ok
    db = mockDb(new Oracle(), 12, 0, "11.2.0.0.1");
    new DatabaseChecker(db).start();
    // oracle 10 is not supported
    db = mockDb(new Oracle(), 10, 2, "11.2.0.0.1");
    try {
        new DatabaseChecker(db).start();
        fail();
    } catch (MessageException e) {
        assertThat(e).hasMessage("Unsupported oracle version: 10.2. Minimal supported version is 11.0.");
    }
}
Also used : MessageException(org.sonar.api.utils.MessageException) Oracle(org.sonar.db.dialect.Oracle) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)12 Oracle (org.sonar.db.dialect.Oracle)12 H2 (org.sonar.db.dialect.H2)7 MsSql (org.sonar.db.dialect.MsSql)7 MySql (org.sonar.db.dialect.MySql)7 PostgreSql (org.sonar.db.dialect.PostgreSql)7 Connection (java.sql.Connection)2 MessageException (org.sonar.api.utils.MessageException)2 SQLException (java.sql.SQLException)1