Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -233,8 +232,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
public void
alterColumnType_Oracle_AlterColumnTypeFromEachExistingDataTypeToText_ShouldThrowUnsupportedOperationException()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager transactionManager =
transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand Down Expand Up @@ -276,7 +274,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
insert.timestampTZValue("c12", Instant.now());
}
transactionalInsert(transactionManager, insert.build());
transactionalInsert(insert.build());

// Act Assert
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT))
Expand Down Expand Up @@ -311,8 +309,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
public void
alterColumnType_Db2_AlterColumnTypeFromEachExistingDataTypeToText_ShouldAlterColumnTypesCorrectlyIfSupported()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager transactionManager =
transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand Down Expand Up @@ -354,7 +351,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
insert.timestampTZValue("c12", Instant.now());
}
transactionalInsert(transactionManager, insert.build());
transactionalInsert(insert.build());

// Act Assert
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT))
Expand Down Expand Up @@ -418,7 +415,7 @@ public void alterColumnType_WideningConversion_ShouldAlterColumnTypesCorrectly()
@EnabledIf("isOracle")
public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorrectly()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager manager = transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand All @@ -442,7 +439,7 @@ public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorr
.clusteringKey(Key.ofInt("c2", 2))
.intValue("c3", expectedColumn3Value)
.floatValue("c4", expectedColumn4Value);
transactionalInsert(manager, insert.build());
transactionalInsert(insert.build());

// Act
admin.alterColumnType(namespace1, TABLE4, "c3", DataType.BIGINT);
Expand Down Expand Up @@ -471,7 +468,7 @@ public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorr
.table(TABLE4)
.partitionKey(Key.ofInt("c1", 1))
.build();
List<Result> results = transactionalScan(manager, scan);
List<Result> results = transactionalScan(scan);
assertThat(results).hasSize(1);
Result result = results.get(0);
assertThat(result.getBigInt("c3")).isEqualTo(expectedColumn3Value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
public void
alterColumnType_Oracle_AlterColumnTypeFromEachExistingDataTypeToText_ShouldThrowUnsupportedOperationException()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager transactionManager =
transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand Down Expand Up @@ -260,7 +259,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
insert.timestampTZValue("c12", Instant.now());
}
transactionalInsert(transactionManager, insert.build());
transactionalInsert(insert.build());

// Act Assert
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT))
Expand Down Expand Up @@ -402,7 +401,7 @@ public void alterColumnType_WideningConversion_ShouldAlterColumnTypesCorrectly()
@EnabledIf("isOracle")
public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorrectly()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager manager = transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand All @@ -426,7 +425,7 @@ public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorr
.clusteringKey(Key.ofInt("c2", 2))
.intValue("c3", expectedColumn3Value)
.floatValue("c4", expectedColumn4Value);
transactionalInsert(manager, insert.build());
transactionalInsert(insert.build());

// Act
admin.alterColumnType(namespace1, TABLE4, "c3", DataType.BIGINT);
Expand Down Expand Up @@ -455,7 +454,7 @@ public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorr
.table(TABLE4)
.partitionKey(Key.ofInt("c1", 1))
.build();
List<Result> results = transactionalScan(manager, scan);
List<Result> results = transactionalScan(scan);
assertThat(results).hasSize(1);
Result result = results.get(0);
assertThat(result.getBigInt("c3")).isEqualTo(expectedColumn3Value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
public void
alterColumnType_Oracle_AlterColumnTypeFromEachExistingDataTypeToText_ShouldThrowUnsupportedOperationException()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager transactionManager =
transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand Down Expand Up @@ -328,7 +327,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
insert.timestampTZValue("c12", Instant.now());
}
transactionalInsert(transactionManager, insert.build());
transactionalInsert(insert.build());

// Act Assert
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT))
Expand Down Expand Up @@ -406,7 +405,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
insert.timestampTZValue("c12", Instant.now());
}
transactionalInsert(transactionManager, insert.build());
transactionalInsert(insert.build());

// Act Assert
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT))
Expand Down Expand Up @@ -470,7 +469,7 @@ public void alterColumnType_WideningConversion_ShouldAlterColumnTypesCorrectly()
@EnabledIf("isOracle")
public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorrectly()
throws ExecutionException, TransactionException {
try (DistributedTransactionManager manager = transactionFactory.getTransactionManager()) {
try {
// Arrange
Map<String, String> options = getCreationOptions();
TableMetadata.Builder currentTableMetadataBuilder =
Expand All @@ -494,7 +493,7 @@ public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorr
.clusteringKey(Key.ofInt("c2", 2))
.intValue("c3", expectedColumn3Value)
.floatValue("c4", expectedColumn4Value);
transactionalInsert(manager, insert.build());
transactionalInsert(insert.build());

// Act
admin.alterColumnType(namespace1, TABLE4, "c3", DataType.BIGINT);
Expand Down Expand Up @@ -523,7 +522,7 @@ public void alterColumnType_Oracle_WideningConversion_ShouldAlterColumnTypesCorr
.table(TABLE4)
.partitionKey(Key.ofInt("c1", 1))
.build();
List<Result> results = transactionalScan(manager, scan);
List<Result> results = transactionalScan(scan);
assertThat(results).hasSize(1);
Result result = results.get(0);
assertThat(result.getBigInt("c3")).isEqualTo(expectedColumn3Value);
Expand Down Expand Up @@ -563,19 +562,27 @@ protected boolean isIndexOnBlobColumnSupported() {
}

@Override
protected void transactionalInsert(DistributedTransactionManager manager, Insert insert)
throws TransactionException {
DistributedTransaction transaction = manager.start();
transaction.insert(insert);
transaction.commit();
protected void transactionalInsert(Insert insert) throws TransactionException {
// Wait for cache expiry
Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS);

try (DistributedTransactionManager manager = transactionFactory.getTransactionManager()) {
DistributedTransaction transaction = manager.start();
transaction.insert(insert);
transaction.commit();
}
}

@Override
protected List<Result> transactionalScan(DistributedTransactionManager manager, Scan scan)
throws TransactionException {
DistributedTransaction transaction = manager.start();
List<Result> results = transaction.scan(scan);
transaction.commit();
return results;
protected List<Result> transactionalScan(Scan scan) throws TransactionException {
// Wait for cache expiry
Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS);

try (DistributedTransactionManager manager = transactionFactory.getTransactionManager()) {
DistributedTransaction transaction = manager.start();
List<Result> results = transaction.scan(scan);
transaction.commit();
return results;
}
}
}
Loading