Skip to content

Commit de34b99

Browse files
authored
Fix to enable tests for TIMESTAMPTZ (#3079)
1 parent 7a2d999 commit de34b99

File tree

7 files changed

+203
-293
lines changed

7 files changed

+203
-293
lines changed

core/src/integration-test/java/com/scalar/db/storage/jdbc/ConsensusCommitAdminIntegrationTestWithJdbcDatabase.java

Lines changed: 29 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
149149
try {
150150
// Arrange
151151
Map<String, String> options = getCreationOptions();
152-
TableMetadata.Builder currentTableMetadataBuilder =
152+
TableMetadata currentTableMetadata =
153153
TableMetadata.newBuilder()
154154
.addColumn("c1", DataType.INT)
155155
.addColumn("c2", DataType.INT)
@@ -161,16 +161,13 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
161161
.addColumn("c8", DataType.BLOB)
162162
.addColumn("c9", DataType.DATE)
163163
.addColumn("c10", DataType.TIME)
164+
.addColumn("c11", DataType.TIMESTAMPTZ)
164165
.addPartitionKey("c1")
165-
.addClusteringKey("c2", Scan.Ordering.Order.ASC);
166-
if (isTimestampTypeSupported()) {
167-
currentTableMetadataBuilder
168-
.addColumn("c11", DataType.TIMESTAMP)
169-
.addColumn("c12", DataType.TIMESTAMPTZ);
170-
}
171-
TableMetadata currentTableMetadata = currentTableMetadataBuilder.build();
166+
.addClusteringKey("c2", Scan.Ordering.Order.ASC)
167+
.addColumn("c12", DataType.TIMESTAMP)
168+
.build();
172169
admin.createTable(namespace1, TABLE4, currentTableMetadata, options);
173-
InsertBuilder.Buildable insert =
170+
Insert insert =
174171
Insert.newBuilder()
175172
.namespace(namespace1)
176173
.table(TABLE4)
@@ -183,12 +180,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
183180
.textValue("c7", "5")
184181
.blobValue("c8", "6".getBytes(StandardCharsets.UTF_8))
185182
.dateValue("c9", LocalDate.now(ZoneId.of("UTC")))
186-
.timeValue("c10", LocalTime.now(ZoneId.of("UTC")));
187-
if (isTimestampTypeSupported()) {
188-
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
189-
insert.timestampTZValue("c12", Instant.now());
190-
}
191-
transactionalInsert(insert.build());
183+
.timeValue("c10", LocalTime.now(ZoneId.of("UTC")))
184+
.timestampTZValue("c11", Instant.now())
185+
.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC))
186+
.build();
187+
transactionalInsert(insert);
192188

193189
// Act Assert
194190
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c3", DataType.TEXT))
@@ -207,12 +203,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
207203
.isInstanceOf(UnsupportedOperationException.class);
208204
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT))
209205
.isInstanceOf(UnsupportedOperationException.class);
210-
if (isTimestampTypeSupported()) {
211-
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT))
212-
.isInstanceOf(UnsupportedOperationException.class);
213-
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT))
214-
.isInstanceOf(UnsupportedOperationException.class);
215-
}
206+
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT))
207+
.isInstanceOf(UnsupportedOperationException.class);
208+
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT))
209+
.isInstanceOf(UnsupportedOperationException.class);
216210
} finally {
217211
admin.dropTable(namespace1, TABLE4, true);
218212
}
@@ -238,13 +232,10 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
238232
.addColumn("c8", DataType.BLOB)
239233
.addColumn("c9", DataType.DATE)
240234
.addColumn("c10", DataType.TIME)
235+
.addColumn("c11", DataType.TIMESTAMPTZ)
236+
.addColumn("c12", DataType.TIMESTAMP)
241237
.addPartitionKey("c1")
242238
.addClusteringKey("c2", Scan.Ordering.Order.ASC);
243-
if (isTimestampTypeSupported()) {
244-
currentTableMetadataBuilder
245-
.addColumn("c11", DataType.TIMESTAMP)
246-
.addColumn("c12", DataType.TIMESTAMPTZ);
247-
}
248239
TableMetadata currentTableMetadata = currentTableMetadataBuilder.build();
249240
admin.createTable(namespace1, TABLE4, currentTableMetadata, options);
250241
InsertBuilder.Buildable insert =
@@ -260,11 +251,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
260251
.textValue("c7", "5")
261252
.blobValue("c8", "6".getBytes(StandardCharsets.UTF_8))
262253
.dateValue("c9", LocalDate.now(ZoneId.of("UTC")))
263-
.timeValue("c10", LocalTime.now(ZoneId.of("UTC")));
264-
if (isTimestampTypeSupported()) {
265-
insert.timestampValue("c11", LocalDateTime.now(ZoneOffset.UTC));
266-
insert.timestampTZValue("c12", Instant.now());
267-
}
254+
.timeValue("c10", LocalTime.now(ZoneId.of("UTC")))
255+
.timestampTZValue("c11", Instant.now())
256+
.timestampValue("c12", LocalDateTime.now(ZoneOffset.UTC));
268257
transactionalInsert(insert.build());
269258

270259
// Act Assert
@@ -284,14 +273,12 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
284273
.doesNotThrowAnyException();
285274
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c10", DataType.TEXT))
286275
.doesNotThrowAnyException();
287-
if (isTimestampTypeSupported()) {
288-
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT))
289-
.doesNotThrowAnyException();
290-
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT))
291-
.doesNotThrowAnyException();
292-
}
276+
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c11", DataType.TEXT))
277+
.doesNotThrowAnyException();
278+
assertThatCode(() -> admin.alterColumnType(namespace1, TABLE4, "c12", DataType.TEXT))
279+
.doesNotThrowAnyException();
293280

294-
TableMetadata.Builder expectedTableMetadataBuilder =
281+
TableMetadata expectedTableMetadata =
295282
TableMetadata.newBuilder()
296283
.addColumn("c1", DataType.INT)
297284
.addColumn("c2", DataType.INT)
@@ -303,14 +290,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
303290
.addColumn("c8", DataType.BLOB)
304291
.addColumn("c9", DataType.TEXT)
305292
.addColumn("c10", DataType.TEXT)
293+
.addColumn("c11", DataType.TEXT)
294+
.addColumn("c12", DataType.TEXT)
306295
.addPartitionKey("c1")
307-
.addClusteringKey("c2", Scan.Ordering.Order.ASC);
308-
if (isTimestampTypeSupported()) {
309-
expectedTableMetadataBuilder
310-
.addColumn("c11", DataType.TEXT)
311-
.addColumn("c12", DataType.TEXT);
312-
}
313-
TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build();
296+
.addClusteringKey("c2", Scan.Ordering.Order.ASC)
297+
.build();
314298
assertThat(admin.getTableMetadata(namespace1, TABLE4)).isEqualTo(expectedTableMetadata);
315299
} finally {
316300
admin.dropTable(namespace1, TABLE4, true);

core/src/integration-test/java/com/scalar/db/storage/jdbc/JdbcAdminCaseSensitivityIntegrationTest.java

Lines changed: 44 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
156156
try (DistributedStorage storage = storageFactory.getStorage()) {
157157
// Arrange
158158
Map<String, String> options = getCreationOptions();
159-
TableMetadata.Builder currentTableMetadataBuilder =
159+
TableMetadata currentTableMetadata =
160160
TableMetadata.newBuilder()
161161
.addColumn(getColumnName1(), DataType.INT)
162162
.addColumn(getColumnName2(), DataType.INT)
@@ -168,14 +168,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
168168
.addColumn(getColumnName8(), DataType.BLOB)
169169
.addColumn(getColumnName9(), DataType.DATE)
170170
.addColumn(getColumnName10(), DataType.TIME)
171+
.addColumn(getColumnName11(), DataType.TIMESTAMPTZ)
172+
.addColumn(getColumnName12(), DataType.TIMESTAMP)
171173
.addPartitionKey(getColumnName1())
172-
.addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC);
173-
if (isTimestampTypeSupported()) {
174-
currentTableMetadataBuilder
175-
.addColumn(getColumnName11(), DataType.TIMESTAMP)
176-
.addColumn(getColumnName12(), DataType.TIMESTAMPTZ);
177-
}
178-
TableMetadata currentTableMetadata = currentTableMetadataBuilder.build();
174+
.addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC)
175+
.build();
179176
admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options);
180177
PutBuilder.Buildable put =
181178
Put.newBuilder()
@@ -190,11 +187,9 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
190187
.textValue(getColumnName7(), "5")
191188
.blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8))
192189
.dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC")))
193-
.timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC")));
194-
if (isTimestampTypeSupported()) {
195-
put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC));
196-
put.timestampTZValue(getColumnName12(), Instant.now());
197-
}
190+
.timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC")))
191+
.timestampTZValue(getColumnName11(), Instant.now())
192+
.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC));
198193
storage.put(put.build());
199194
storage.close();
200195

@@ -239,18 +234,16 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
239234
admin.alterColumnType(
240235
getNamespace1(), getTable4(), getColumnName10(), DataType.TEXT))
241236
.isInstanceOf(UnsupportedOperationException.class);
242-
if (isTimestampTypeSupported()) {
243-
assertThatCode(
244-
() ->
245-
admin.alterColumnType(
246-
getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT))
247-
.isInstanceOf(UnsupportedOperationException.class);
248-
assertThatCode(
249-
() ->
250-
admin.alterColumnType(
251-
getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT))
252-
.isInstanceOf(UnsupportedOperationException.class);
253-
}
237+
assertThatCode(
238+
() ->
239+
admin.alterColumnType(
240+
getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT))
241+
.isInstanceOf(UnsupportedOperationException.class);
242+
assertThatCode(
243+
() ->
244+
admin.alterColumnType(
245+
getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT))
246+
.isInstanceOf(UnsupportedOperationException.class);
254247
} finally {
255248
admin.dropTable(getNamespace1(), getTable4(), true);
256249
}
@@ -264,7 +257,7 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
264257
try (DistributedStorage storage = storageFactory.getStorage()) {
265258
// Arrange
266259
Map<String, String> options = getCreationOptions();
267-
TableMetadata.Builder currentTableMetadataBuilder =
260+
TableMetadata currentTableMetadata =
268261
TableMetadata.newBuilder()
269262
.addColumn(getColumnName1(), DataType.INT)
270263
.addColumn(getColumnName2(), DataType.INT)
@@ -276,16 +269,13 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
276269
.addColumn(getColumnName8(), DataType.BLOB)
277270
.addColumn(getColumnName9(), DataType.DATE)
278271
.addColumn(getColumnName10(), DataType.TIME)
272+
.addColumn(getColumnName11(), DataType.TIMESTAMPTZ)
273+
.addColumn(getColumnName12(), DataType.TIMESTAMP)
279274
.addPartitionKey(getColumnName1())
280-
.addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC);
281-
if (isTimestampTypeSupported()) {
282-
currentTableMetadataBuilder
283-
.addColumn(getColumnName11(), DataType.TIMESTAMP)
284-
.addColumn(getColumnName12(), DataType.TIMESTAMPTZ);
285-
}
286-
TableMetadata currentTableMetadata = currentTableMetadataBuilder.build();
275+
.addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC)
276+
.build();
287277
admin.createTable(getNamespace1(), getTable4(), currentTableMetadata, options);
288-
PutBuilder.Buildable put =
278+
Put put =
289279
Put.newBuilder()
290280
.namespace(getNamespace1())
291281
.table(getTable4())
@@ -298,12 +288,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
298288
.textValue(getColumnName7(), "5")
299289
.blobValue(getColumnName8(), "6".getBytes(StandardCharsets.UTF_8))
300290
.dateValue(getColumnName9(), LocalDate.now(ZoneId.of("UTC")))
301-
.timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC")));
302-
if (isTimestampTypeSupported()) {
303-
put.timestampValue(getColumnName11(), LocalDateTime.now(ZoneOffset.UTC));
304-
put.timestampTZValue(getColumnName12(), Instant.now());
305-
}
306-
storage.put(put.build());
291+
.timeValue(getColumnName10(), LocalTime.now(ZoneId.of("UTC")))
292+
.timestampTZValue(getColumnName11(), Instant.now())
293+
.timestampValue(getColumnName12(), LocalDateTime.now(ZoneOffset.UTC))
294+
.build();
295+
storage.put(put);
307296
storage.close();
308297

309298
// Act Assert
@@ -347,20 +336,18 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
347336
admin.alterColumnType(
348337
getNamespace1(), getTable4(), getColumnName10(), DataType.TEXT))
349338
.doesNotThrowAnyException();
350-
if (isTimestampTypeSupported()) {
351-
assertThatCode(
352-
() ->
353-
admin.alterColumnType(
354-
getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT))
355-
.doesNotThrowAnyException();
356-
assertThatCode(
357-
() ->
358-
admin.alterColumnType(
359-
getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT))
360-
.doesNotThrowAnyException();
361-
}
339+
assertThatCode(
340+
() ->
341+
admin.alterColumnType(
342+
getNamespace1(), getTable4(), getColumnName11(), DataType.TEXT))
343+
.doesNotThrowAnyException();
344+
assertThatCode(
345+
() ->
346+
admin.alterColumnType(
347+
getNamespace1(), getTable4(), getColumnName12(), DataType.TEXT))
348+
.doesNotThrowAnyException();
362349

363-
TableMetadata.Builder expectedTableMetadataBuilder =
350+
TableMetadata expectedTableMetadata =
364351
TableMetadata.newBuilder()
365352
.addColumn(getColumnName1(), DataType.INT)
366353
.addColumn(getColumnName2(), DataType.INT)
@@ -372,14 +359,11 @@ public void renameColumn_Db2_ForPrimaryOrIndexKeyColumn_ShouldThrowUnsupportedOp
372359
.addColumn(getColumnName8(), DataType.BLOB)
373360
.addColumn(getColumnName9(), DataType.TEXT)
374361
.addColumn(getColumnName10(), DataType.TEXT)
362+
.addColumn(getColumnName11(), DataType.TEXT)
375363
.addPartitionKey(getColumnName1())
376-
.addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC);
377-
if (isTimestampTypeSupported()) {
378-
expectedTableMetadataBuilder
379-
.addColumn(getColumnName11(), DataType.TEXT)
380-
.addColumn(getColumnName12(), DataType.TEXT);
381-
}
382-
TableMetadata expectedTableMetadata = expectedTableMetadataBuilder.build();
364+
.addClusteringKey(getColumnName2(), Scan.Ordering.Order.ASC)
365+
.addColumn(getColumnName12(), DataType.TEXT)
366+
.build();
383367
assertThat(admin.getTableMetadata(getNamespace1(), getTable4()))
384368
.isEqualTo(expectedTableMetadata);
385369
} finally {

0 commit comments

Comments
 (0)