瀏覽代碼

SONAR-5471 Auto-incremented ID must start with 1 on all DB

 - H2 was 1 in schema-h2.ddl but 0 in CreateTableBuilder
 - MSSQL was 1 in ruby but 0 in CreateTableBuilder

Signed-off-by: Simon Brandhof <simon.brandhof@sonarsource.com>
tags/6.3-RC1
Simon Brandhof 7 年之前
父節點
當前提交
80fc252e02

+ 2
- 2
sonar-db/src/main/java/org/sonar/db/version/CreateTableBuilder.java 查看文件

@@ -197,13 +197,13 @@ public class CreateTableBuilder {
// no specific clause on PostgreSQL but a specific type
break;
case MsSql.ID:
res.append(" IDENTITY (0,1)");
res.append(" IDENTITY (1,1)");
break;
case MySql.ID:
res.append(" AUTO_INCREMENT");
break;
case H2.ID:
res.append(" AUTO_INCREMENT (0,1)");
res.append(" AUTO_INCREMENT (1,1)");
break;
default:
throw new IllegalArgumentException("Unsupported dialect id " + dialect.getId());

+ 3
- 3
sonar-db/src/test/java/org/sonar/db/version/CreateTableBuilderTest.java 查看文件

@@ -275,7 +275,7 @@ public class CreateTableBuilderTest {
assertThat(stmts).hasSize(1);
assertThat(stmts.iterator().next())
.isEqualTo(
"CREATE TABLE table_42 (id INT NOT NULL IDENTITY (0,1), CONSTRAINT pk_table_42 PRIMARY KEY (id))");
"CREATE TABLE table_42 (id INT NOT NULL IDENTITY (1,1), CONSTRAINT pk_table_42 PRIMARY KEY (id))");
}

@Test
@@ -286,7 +286,7 @@ public class CreateTableBuilderTest {
assertThat(stmts).hasSize(1);
assertThat(stmts.iterator().next())
.isEqualTo(
"CREATE TABLE table_42 (id INTEGER NOT NULL AUTO_INCREMENT (0,1), CONSTRAINT pk_table_42 PRIMARY KEY (id))");
"CREATE TABLE table_42 (id INTEGER NOT NULL AUTO_INCREMENT (1,1), CONSTRAINT pk_table_42 PRIMARY KEY (id))");
}

@Test
@@ -526,7 +526,7 @@ public class CreateTableBuilderTest {

@Test
public void build_adds_DEFAULT_clause_on_varchar_column_on_Oracle() {
verifyDefaultClauseOnVarcharColumn(ORACLE, "CREATE TABLE table_42 (status VARCHAR (1) DEFAULT 'P' NOT NULL)");
verifyDefaultClauseOnVarcharColumn(ORACLE, "CREATE TABLE table_42 (status VARCHAR (1 CHAR) DEFAULT 'P' NOT NULL)");
}

@Test

Loading…
取消
儲存