From 0a8a1190f8267e05dc9bf9559b4561c5230798bb Mon Sep 17 00:00:00 2001 From: Kodai Doki Date: Tue, 21 Oct 2025 15:29:16 +0900 Subject: [PATCH 1/4] Fix to enable tests for TIMESTAMPTZ --- ...tAdminIntegrationTestWithJdbcDatabase.java | 35 +++++++------- ...bcAdminCaseSensitivityIntegrationTest.java | 47 +++++++++---------- .../jdbc/JdbcAdminIntegrationTest.java | 45 +++++++++--------- ...nAdminIntegrationTestWithJdbcDatabase.java | 35 +++++++------- .../JdbcTransactionAdminIntegrationTest.java | 35 +++++++------- ...ibutedStorageAdminIntegrationTestBase.java | 32 ++++++------- ...edTransactionAdminIntegrationTestBase.java | 25 +++++----- 7 files changed, 116 insertions(+), 138 deletions(-) diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java index 37c0ef9de2..90ad273b52 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java @@ -161,12 +161,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -183,10 +182,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c12", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionalInsert(insert.build()); @@ -207,9 +206,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); } @@ -238,12 +237,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -260,10 +258,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionalInsert(insert.build()); @@ -284,9 +282,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT)) .doesNotThrowAnyException(); + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) + .doesNotThrowAnyException(); if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) - .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) .doesNotThrowAnyException(); } @@ -303,12 +301,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) + .addColumn("c11", DataType.TEXT) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn("c11", DataType.TEXT) - .addColumn("c12", DataType.TEXT); + expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata); diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java index 71dad0d7a7..ecf9ec5f2b 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java @@ -168,12 +168,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) + .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TIMESTAMP) - .addColumn(getColumnName12(), DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); @@ -190,10 +189,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue(getColumnName7(), "5") .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) - .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))); + .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue(getColumnName11(), Instant.now()); if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC)); - put.timestampTZValue(getColumnName12(), Instant.now()); + put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); } storage.put(put.build()); storage.close(); @@ -239,12 +238,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName10(), DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); assertThatCode( () -> admin.alterColumnType( @@ -276,12 +275,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) + .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TIMESTAMP) - .addColumn(getColumnName12(), DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); @@ -298,10 +296,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue(getColumnName7(), "5") .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) - .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))); + .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue(getColumnName11(), Instant.now()); if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC)); - put.timestampTZValue(getColumnName12(), Instant.now()); + put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); } storage.put(put.build()); storage.close(); @@ -347,12 +345,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName10(), DataType.TEXT)) .doesNotThrowAnyException(); + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) + .doesNotThrowAnyException(); if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) - .doesNotThrowAnyException(); assertThatCode( () -> admin.alterColumnType( @@ -372,12 +370,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.TEXT) .addColumn(getColumnName10(), DataType.TEXT) + .addColumn(getColumnName11(), DataType.TEXT) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TEXT) - .addColumn(getColumnName12(), DataType.TEXT); + expectedTableMetadataBuilder.addColumn(getColumnName12(), DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(getNamespace1(), getTable4())) diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java index 7bddc4a058..fd8780b67f 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java @@ -169,12 +169,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) + .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TIMESTAMP) - .addColumn(getColumnName12(), DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); @@ -191,10 +190,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue(getColumnName7(), "5") .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) - .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))); + .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue(getColumnName11(), Instant.now()); if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC)); - put.timestampTZValue(getColumnName12(), Instant.now()); + put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); } storage.put(put.build()); storage.close(); @@ -240,12 +239,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName10(), DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); assertThatCode( () -> admin.alterColumnType( @@ -277,12 +276,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) + .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TIMESTAMP) - .addColumn(getColumnName12(), DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); @@ -299,10 +297,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue(getColumnName7(), "5") .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) - .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))); + .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue(getColumnName11(), Instant.now()); if (isTimestampTypeSupported()) { put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC)); - put.timestampTZValue(getColumnName12(), Instant.now()); } storage.put(put.build()); storage.close(); @@ -348,12 +346,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName10(), DataType.TEXT)) .doesNotThrowAnyException(); + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) + .doesNotThrowAnyException(); if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) - .doesNotThrowAnyException(); assertThatCode( () -> admin.alterColumnType( @@ -373,12 +371,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.TEXT) .addColumn(getColumnName10(), DataType.TEXT) + .addColumn(getColumnName11(), DataType.TEXT) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TEXT) - .addColumn(getColumnName12(), DataType.TEXT); + expectedTableMetadataBuilder.addColumn(getColumnName12(), DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(getNamespace1(), getTable4())) diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java index 859fe2a57b..7051149d1b 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java @@ -162,12 +162,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -184,10 +183,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionalInsert(insert.build()); @@ -208,9 +207,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); } @@ -240,12 +239,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -262,10 +260,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionManager.insert(insert.build()); @@ -286,9 +284,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT)) .doesNotThrowAnyException(); + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) + .doesNotThrowAnyException(); if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) - .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) .doesNotThrowAnyException(); } @@ -305,12 +303,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) + .addColumn("c11", DataType.TEXT) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn("c11", DataType.TEXT) - .addColumn("c12", DataType.TEXT); + expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata); diff --git a/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java index 7ed7fe9e1f..3e1b18c200 100644 --- a/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java @@ -234,12 +234,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -256,10 +255,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionalInsert(insert.build()); @@ -280,9 +279,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); } @@ -312,12 +311,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -334,10 +332,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionalInsert(insert.build()); @@ -358,9 +356,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT)) .doesNotThrowAnyException(); + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) + .doesNotThrowAnyException(); if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) - .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) .doesNotThrowAnyException(); } @@ -377,12 +375,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) + .addColumn("c11", DataType.TEXT) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn("c11", DataType.TEXT) - .addColumn("c12", DataType.TEXT); + expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata); diff --git a/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminIntegrationTestBase.java b/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminIntegrationTestBase.java index 8820049603..cc40db8d85 100644 --- a/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminIntegrationTestBase.java +++ b/integration-test/src/main/java/com/scalar/db/api/DistributedStorageAdminIntegrationTestBase.java @@ -1012,12 +1012,11 @@ public void dropColumnFromTable_DropColumnForEachExistingDataType_ShouldDropColu .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) + .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TIMESTAMP) - .addColumn(getColumnName12(), DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, getTable4(), currentTableMetadata, options); @@ -1031,8 +1030,8 @@ public void dropColumnFromTable_DropColumnForEachExistingDataType_ShouldDropColu admin.dropColumnFromTable(namespace1, getTable4(), getColumnName8()); admin.dropColumnFromTable(namespace1, getTable4(), getColumnName9()); admin.dropColumnFromTable(namespace1, getTable4(), getColumnName10()); + admin.dropColumnFromTable(namespace1, getTable4(), getColumnName11()); if (isTimestampTypeSupported()) { - admin.dropColumnFromTable(namespace1, getTable4(), getColumnName11()); admin.dropColumnFromTable(namespace1, getTable4(), getColumnName12()); } @@ -1046,11 +1045,10 @@ public void dropColumnFromTable_DropColumnForEachExistingDataType_ShouldDropColu .removeColumn(getColumnName7()) .removeColumn(getColumnName8()) .removeColumn(getColumnName9()) - .removeColumn(getColumnName10()); + .removeColumn(getColumnName10()) + .removeColumn(getColumnName11()); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .removeColumn(getColumnName11()) - .removeColumn(getColumnName12()); + expectedTableMetadataBuilder.removeColumn(getColumnName12()); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(namespace1, getTable4())).isEqualTo(expectedTableMetadata); @@ -1134,12 +1132,11 @@ public void renameTable_ForExistingTable_ShouldRenameTableCorrectly() throws Exe .addColumn(getColumnName8(), DataType.BLOB) .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) + .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TIMESTAMP) - .addColumn(getColumnName12(), DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, getTable4(), currentTableMetadata, options); @@ -1156,10 +1153,10 @@ public void renameTable_ForExistingTable_ShouldRenameTableCorrectly() throws Exe .textValue(getColumnName7(), "5") .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) - .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))); + .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue(getColumnName11(), Instant.now()); if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC)); - put.timestampTZValue(getColumnName12(), Instant.now()); + put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); } storage.put(put.build()); @@ -1172,8 +1169,8 @@ public void renameTable_ForExistingTable_ShouldRenameTableCorrectly() throws Exe admin.alterColumnType(namespace1, getTable4(), getColumnName8(), DataType.TEXT); admin.alterColumnType(namespace1, getTable4(), getColumnName9(), DataType.TEXT); admin.alterColumnType(namespace1, getTable4(), getColumnName10(), DataType.TEXT); + admin.alterColumnType(namespace1, getTable4(), getColumnName11(), DataType.TEXT); if (isTimestampTypeSupported()) { - admin.alterColumnType(namespace1, getTable4(), getColumnName11(), DataType.TEXT); admin.alterColumnType(namespace1, getTable4(), getColumnName12(), DataType.TEXT); } @@ -1190,12 +1187,11 @@ public void renameTable_ForExistingTable_ShouldRenameTableCorrectly() throws Exe .addColumn(getColumnName8(), DataType.TEXT) .addColumn(getColumnName9(), DataType.TEXT) .addColumn(getColumnName10(), DataType.TEXT) + .addColumn(getColumnName11(), DataType.TEXT) .addPartitionKey(getColumnName1()) .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn(getColumnName11(), DataType.TEXT) - .addColumn(getColumnName12(), DataType.TEXT); + expectedTableMetadataBuilder.addColumn(getColumnName12(), DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(namespace1, getTable4())).isEqualTo(expectedTableMetadata); diff --git a/integration-test/src/main/java/com/scalar/db/api/DistributedTransactionAdminIntegrationTestBase.java b/integration-test/src/main/java/com/scalar/db/api/DistributedTransactionAdminIntegrationTestBase.java index 6a1cb8febe..e72933170e 100644 --- a/integration-test/src/main/java/com/scalar/db/api/DistributedTransactionAdminIntegrationTestBase.java +++ b/integration-test/src/main/java/com/scalar/db/api/DistributedTransactionAdminIntegrationTestBase.java @@ -934,12 +934,11 @@ public void dropColumnFromTable_DropColumnForEachExistingDataType_ShouldDropColu .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); @@ -953,8 +952,8 @@ public void dropColumnFromTable_DropColumnForEachExistingDataType_ShouldDropColu admin.dropColumnFromTable(namespace1, TABLE4, "c8"); admin.dropColumnFromTable(namespace1, TABLE4, "c9"); admin.dropColumnFromTable(namespace1, TABLE4, "c10"); + admin.dropColumnFromTable(namespace1, TABLE4, "c11"); if (isTimestampTypeSupported()) { - admin.dropColumnFromTable(namespace1, TABLE4, "c11"); admin.dropColumnFromTable(namespace1, TABLE4, "c12"); } @@ -1200,12 +1199,11 @@ public void renameColumn_ForIndexKeyColumn_ShouldRenameColumnAndIndexCorrectly() .addColumn("c8", DataType.BLOB) .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) + .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - currentTableMetadataBuilder - .addColumn("c11", DataType.TIMESTAMP) - .addColumn("c12", DataType.TIMESTAMPTZ); + currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, table, currentTableMetadata, options); @@ -1222,10 +1220,10 @@ public void renameColumn_ForIndexKeyColumn_ShouldRenameColumnAndIndexCorrectly() .textValue("c7", "5") .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) - .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))); + .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { - insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC)); - insert.timestampTZValue("c12", Instant.now()); + insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } transactionalInsert(insert.build()); @@ -1238,8 +1236,8 @@ public void renameColumn_ForIndexKeyColumn_ShouldRenameColumnAndIndexCorrectly() admin.alterColumnType(namespace1, table, "c8", DataType.TEXT); admin.alterColumnType(namespace1, table, "c9", DataType.TEXT); admin.alterColumnType(namespace1, table, "c10", DataType.TEXT); + admin.alterColumnType(namespace1, table, "c11", DataType.TEXT); if (isTimestampTypeSupported()) { - admin.alterColumnType(namespace1, table, "c11", DataType.TEXT); admin.alterColumnType(namespace1, table, "c12", DataType.TEXT); } @@ -1256,12 +1254,11 @@ public void renameColumn_ForIndexKeyColumn_ShouldRenameColumnAndIndexCorrectly() .addColumn("c8", DataType.TEXT) .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) + .addColumn("c11", DataType.TEXT) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder - .addColumn("c11", DataType.TEXT) - .addColumn("c12", DataType.TEXT); + expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); } TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); assertThat(admin.getTableMetadata(namespace1, table)).isEqualTo(expectedTableMetadata); From 2ba1daa04e589ccaa6ea84378bdfca577a730f07 Mon Sep 17 00:00:00 2001 From: Kodai Doki Date: Tue, 21 Oct 2025 17:04:33 +0900 Subject: [PATCH 2/4] Fix test for Db2 --- .../com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java index fd8780b67f..92c9e9a181 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java @@ -300,7 +300,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) .timestampTZValue(getColumnName11(), Instant.now()); if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC)); + put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); } storage.put(put.build()); storage.close(); From 69af81942366dcb4c6c168a22a8295b70b77bdab Mon Sep 17 00:00:00 2001 From: Kodai Doki Date: Tue, 21 Oct 2025 18:12:51 +0900 Subject: [PATCH 3/4] Fix based on review --- .../ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java index 90ad273b52..ba7a246b04 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java @@ -183,7 +183,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c12", Instant.now()); + .timestampTZValue("c11", Instant.now()); if (isTimestampTypeSupported()) { insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); } From 813937a835392f08aa24b2fdac03500d5c955931 Mon Sep 17 00:00:00 2001 From: Kodai Doki Date: Thu, 23 Oct 2025 09:06:36 +0900 Subject: [PATCH 4/4] Apply suggestions --- ...tAdminIntegrationTestWithJdbcDatabase.java | 53 ++++++-------- ...bcAdminCaseSensitivityIntegrationTest.java | 71 ++++++++----------- .../jdbc/JdbcAdminIntegrationTest.java | 71 ++++++++----------- ...nAdminIntegrationTestWithJdbcDatabase.java | 59 ++++++--------- .../JdbcTransactionAdminIntegrationTest.java | 56 ++++++--------- 5 files changed, 121 insertions(+), 189 deletions(-) diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java index ba7a246b04..2045d48daa 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java @@ -149,7 +149,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn("c1", DataType.INT) .addColumn("c2", DataType.INT) @@ -163,13 +163,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c10", DataType.TIME) .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") - .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey("c2", Scan.Ordering.Order.ASC) + .addColumn("c12", DataType.TIMESTAMP) + .build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); - InsertBuilder.Buildable insert = + Insert insert = Insert.newBuilder() .namespace(namespace1) .table(TABLE4) @@ -183,11 +181,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c11", Instant.now()); - if (isTimestampTypeSupported()) { - insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); - } - transactionalInsert(insert.build()); + .timestampTZValue("c11", Instant.now()) + .timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)) + .build(); + transactionalInsert(insert); // Act Assert assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT)) @@ -208,10 +205,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); - if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); - } + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); } finally { admin.dropTable(namespace1, TABLE4, true); } @@ -238,11 +233,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) .addColumn("c11", DataType.TIMESTAMPTZ) + .addColumn("c12", DataType.TIMESTAMP) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); - } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); InsertBuilder.Buildable insert = @@ -259,10 +252,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c11", Instant.now()); - if (isTimestampTypeSupported()) { - insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); - } + .timestampTZValue("c11", Instant.now()) + .timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); transactionalInsert(insert.build()); // Act Assert @@ -284,12 +275,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) .doesNotThrowAnyException(); - if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) - .doesNotThrowAnyException(); - } + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) + .doesNotThrowAnyException(); - TableMetadata.Builder expectedTableMetadataBuilder = + TableMetadata expectedTableMetadata = TableMetadata.newBuilder() .addColumn("c1", DataType.INT) .addColumn("c2", DataType.INT) @@ -302,12 +291,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) .addColumn("c11", DataType.TEXT) + .addColumn("c12", DataType.TEXT) .addPartitionKey("c1") - .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); - } - TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); + .addClusteringKey("c2", Scan.Ordering.Order.ASC) + .build(); assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata); } finally { admin.dropTable(namespace1, TABLE4, true); diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java index ecf9ec5f2b..9c983ad1c7 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java @@ -156,7 +156,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try (DistributedStorage storage = storageFactory.getStorage()) { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn(getColumnName1(), DataType.INT) .addColumn(getColumnName2(), DataType.INT) @@ -169,12 +169,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) + .addColumn(getColumnName12(), DataType.TIMESTAMP) .addPartitionKey(getColumnName1()) - .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC) + .build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); PutBuilder.Buildable put = Put.newBuilder() @@ -190,10 +188,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue(getColumnName11(), Instant.now()); - if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); - } + .timestampTZValue(getColumnName11(), Instant.now()) + .timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); storage.put(put.build()); storage.close(); @@ -243,13 +239,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); - if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); - } + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); } finally { admin.dropTable(getNamespace1(), getTable4(), true); } @@ -263,7 +257,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try (DistributedStorage storage = storageFactory.getStorage()) { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn(getColumnName1(), DataType.INT) .addColumn(getColumnName2(), DataType.INT) @@ -276,14 +270,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) + .addColumn(getColumnName12(), DataType.TIMESTAMP) .addPartitionKey(getColumnName1()) - .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC) + .build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); - PutBuilder.Buildable put = + Put put = Put.newBuilder() .namespace(getNamespace1()) .table(getTable4()) @@ -297,11 +289,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue(getColumnName11(), Instant.now()); - if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); - } - storage.put(put.build()); + .timestampTZValue(getColumnName11(), Instant.now()) + .timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)) + .build(); + storage.put(put); storage.close(); // Act Assert @@ -350,15 +341,13 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) .doesNotThrowAnyException(); - if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) - .doesNotThrowAnyException(); - } + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) + .doesNotThrowAnyException(); - TableMetadata.Builder expectedTableMetadataBuilder = + TableMetadata expectedTableMetadata = TableMetadata.newBuilder() .addColumn(getColumnName1(), DataType.INT) .addColumn(getColumnName2(), DataType.INT) @@ -372,11 +361,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName10(), DataType.TEXT) .addColumn(getColumnName11(), DataType.TEXT) .addPartitionKey(getColumnName1()) - .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder.addColumn(getColumnName12(), DataType.TEXT); - } - TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); + .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC) + .addColumn(getColumnName12(), DataType.TEXT) + .build(); assertThat(admin.getTableMetadata(getNamespace1(), getTable4())) .isEqualTo(expectedTableMetadata); } finally { diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java index 92c9e9a181..aef7b4c00f 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminIntegrationTest.java @@ -157,7 +157,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try (DistributedStorage storage = storageFactory.getStorage()) { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn(getColumnName1(), DataType.INT) .addColumn(getColumnName2(), DataType.INT) @@ -170,12 +170,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) + .addColumn(getColumnName12(), DataType.TIMESTAMP) .addPartitionKey(getColumnName1()) - .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC) + .build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); PutBuilder.Buildable put = Put.newBuilder() @@ -191,10 +189,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue(getColumnName11(), Instant.now()); - if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); - } + .timestampTZValue(getColumnName11(), Instant.now()) + .timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); storage.put(put.build()); storage.close(); @@ -244,13 +240,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); - if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); - } + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); } finally { admin.dropTable(getNamespace1(), getTable4(), true); } @@ -264,7 +258,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try (DistributedStorage storage = storageFactory.getStorage()) { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn(getColumnName1(), DataType.INT) .addColumn(getColumnName2(), DataType.INT) @@ -277,14 +271,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName9(), DataType.DATE) .addColumn(getColumnName10(), DataType.TIME) .addColumn(getColumnName11(), DataType.TIMESTAMPTZ) + .addColumn(getColumnName12(), DataType.TIMESTAMP) .addPartitionKey(getColumnName1()) - .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn(getColumnName12(), DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC) + .build(); admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options); - PutBuilder.Buildable put = + Put put = Put.newBuilder() .namespace(getNamespace1()) .table(getTable4()) @@ -298,11 +290,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8)) .dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC"))) .timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue(getColumnName11(), Instant.now()); - if (isTimestampTypeSupported()) { - put.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)); - } - storage.put(put.build()); + .timestampTZValue(getColumnName11(), Instant.now()) + .timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC)) + .build(); + storage.put(put); storage.close(); // Act Assert @@ -351,15 +342,13 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp admin.alterColumnType( getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT)) .doesNotThrowAnyException(); - if (isTimestampTypeSupported()) { - assertThatCode( - () -> - admin.alterColumnType( - getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) - .doesNotThrowAnyException(); - } + assertThatCode( + () -> + admin.alterColumnType( + getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT)) + .doesNotThrowAnyException(); - TableMetadata.Builder expectedTableMetadataBuilder = + TableMetadata expectedTableMetadata = TableMetadata.newBuilder() .addColumn(getColumnName1(), DataType.INT) .addColumn(getColumnName2(), DataType.INT) @@ -373,11 +362,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn(getColumnName10(), DataType.TEXT) .addColumn(getColumnName11(), DataType.TEXT) .addPartitionKey(getColumnName1()) - .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder.addColumn(getColumnName12(), DataType.TEXT); - } - TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); + .addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC) + .addColumn(getColumnName12(), DataType.TEXT) + .build(); assertThat(admin.getTableMetadata(getNamespace1(), getTable4())) .isEqualTo(expectedTableMetadata); } finally { diff --git a/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java b/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java index 7051149d1b..84ff64b846 100644 --- a/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java +++ b/core/src/integration-test/java/com/scalar/db/storage/jdbc/SingleCrudOperationTransactionAdminIntegrationTestWithJdbcDatabase.java @@ -5,7 +5,6 @@ import static org.assertj.core.api.Assertions.catchThrowable; import com.google.common.util.concurrent.Uninterruptibles; -import com.scalar.db.api.DistributedTransactionManager; import com.scalar.db.api.Insert; import com.scalar.db.api.InsertBuilder; import com.scalar.db.api.Result; @@ -150,7 +149,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn("c1", DataType.INT) .addColumn("c2", DataType.INT) @@ -164,13 +163,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c10", DataType.TIME) .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") - .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey("c2", Scan.Ordering.Order.ASC) + .addColumn("c12", DataType.TIMESTAMP) + .build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); - InsertBuilder.Buildable insert = + Insert insert = Insert.newBuilder() .namespace(namespace1) .table(TABLE4) @@ -184,11 +181,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c11", Instant.now()); - if (isTimestampTypeSupported()) { - insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); - } - transactionalInsert(insert.build()); + .timestampTZValue("c11", Instant.now()) + .timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)) + .build(); + transactionalInsert(insert); // Act Assert assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT)) @@ -209,10 +205,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); - if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); - } + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); } finally { admin.dropTable(namespace1, TABLE4, true); } @@ -223,8 +217,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp public void alterColumnType_Db2_AlterColumnTypeFromEachExistingDataTypeToText_ShouldAlterColumnTypesCorrectlyIfSupported() throws ExecutionException, TransactionException { - try (DistributedTransactionManager transactionManager = - transactionFactory.getTransactionManager()) { + try { // Arrange Map options = getCreationOptions(); TableMetadata.Builder currentTableMetadataBuilder = @@ -240,11 +233,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) .addColumn("c11", DataType.TIMESTAMPTZ) + .addColumn("c12", DataType.TIMESTAMP) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); - } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); InsertBuilder.Buildable insert = @@ -261,11 +252,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c11", Instant.now()); - if (isTimestampTypeSupported()) { - insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); - } - transactionManager.insert(insert.build()); + .timestampTZValue("c11", Instant.now()) + .timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); + transactionalInsert(insert.build()); // Act Assert assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT)) @@ -286,12 +275,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) .doesNotThrowAnyException(); - if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) - .doesNotThrowAnyException(); - } + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) + .doesNotThrowAnyException(); - TableMetadata.Builder expectedTableMetadataBuilder = + TableMetadata expectedTableMetadata = TableMetadata.newBuilder() .addColumn("c1", DataType.INT) .addColumn("c2", DataType.INT) @@ -304,12 +291,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) .addColumn("c11", DataType.TEXT) + .addColumn("c12", DataType.TEXT) .addPartitionKey("c1") - .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); - } - TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); + .addClusteringKey("c2", Scan.Ordering.Order.ASC) + .build(); assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata); } finally { admin.dropTable(namespace1, TABLE4, true); diff --git a/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java b/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java index 3e1b18c200..b7bc6fe55a 100644 --- a/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java +++ b/core/src/integration-test/java/com/scalar/db/transaction/jdbc/JdbcTransactionAdminIntegrationTest.java @@ -222,7 +222,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp try { // Arrange Map options = getCreationOptions(); - TableMetadata.Builder currentTableMetadataBuilder = + TableMetadata currentTableMetadata = TableMetadata.newBuilder() .addColumn("c1", DataType.INT) .addColumn("c2", DataType.INT) @@ -236,13 +236,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c10", DataType.TIME) .addColumn("c11", DataType.TIMESTAMPTZ) .addPartitionKey("c1") - .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); - } - TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); + .addClusteringKey("c2", Scan.Ordering.Order.ASC) + .addColumn("c12", DataType.TIMESTAMP) + .build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); - InsertBuilder.Buildable insert = + Insert insert = Insert.newBuilder() .namespace(namespace1) .table(TABLE4) @@ -256,11 +254,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c11", Instant.now()); - if (isTimestampTypeSupported()) { - insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); - } - transactionalInsert(insert.build()); + .timestampTZValue("c11", Instant.now()) + .timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)) + .build(); + transactionalInsert(insert); // Act Assert assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT)) @@ -281,10 +278,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .isInstanceOf(UnsupportedOperationException.class); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) .isInstanceOf(UnsupportedOperationException.class); - if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) - .isInstanceOf(UnsupportedOperationException.class); - } + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) + .isInstanceOf(UnsupportedOperationException.class); } finally { admin.dropTable(namespace1, TABLE4, true); } @@ -295,8 +290,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp public void alterColumnType_Db2_AlterColumnTypeFromEachExistingDataTypeToText_ShouldAlterColumnTypesCorrectlyIfSupported() throws ExecutionException, TransactionException { - try (DistributedTransactionManager transactionManager = - transactionFactory.getTransactionManager()) { + try { // Arrange Map options = getCreationOptions(); TableMetadata.Builder currentTableMetadataBuilder = @@ -312,11 +306,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c9", DataType.DATE) .addColumn("c10", DataType.TIME) .addColumn("c11", DataType.TIMESTAMPTZ) + .addColumn("c12", DataType.TIMESTAMP) .addPartitionKey("c1") .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - currentTableMetadataBuilder.addColumn("c12", DataType.TIMESTAMP); - } TableMetadata currentTableMetadata = currentTableMetadataBuilder.build(); admin.createTable(namespace1, TABLE4, currentTableMetadata, options); InsertBuilder.Buildable insert = @@ -333,10 +325,8 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .blobValue("c8", "6".getBytes(StandardCharsets.UTF_8)) .dateValue("c9", LocalDate.now(ZoneId.of("UTC"))) .timeValue("c10", LocalTime.now(ZoneId.of("UTC"))) - .timestampTZValue("c11", Instant.now()); - if (isTimestampTypeSupported()) { - insert.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); - } + .timestampTZValue("c11", Instant.now()) + .timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC)); transactionalInsert(insert.build()); // Act Assert @@ -358,12 +348,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .doesNotThrowAnyException(); assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT)) .doesNotThrowAnyException(); - if (isTimestampTypeSupported()) { - assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) - .doesNotThrowAnyException(); - } + assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT)) + .doesNotThrowAnyException(); - TableMetadata.Builder expectedTableMetadataBuilder = + TableMetadata expectedTableMetadata = TableMetadata.newBuilder() .addColumn("c1", DataType.INT) .addColumn("c2", DataType.INT) @@ -376,12 +364,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp .addColumn("c9", DataType.TEXT) .addColumn("c10", DataType.TEXT) .addColumn("c11", DataType.TEXT) + .addColumn("c12", DataType.TEXT) .addPartitionKey("c1") - .addClusteringKey("c2", Scan.Ordering.Order.ASC); - if (isTimestampTypeSupported()) { - expectedTableMetadataBuilder.addColumn("c12", DataType.TEXT); - } - TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build(); + .addClusteringKey("c2", Scan.Ordering.Order.ASC) + .build(); assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata); } finally { admin.dropTable(namespace1, TABLE4, true);