in timescaledb-connector/src/integration-test/java/com/epam/deltix/timebase/connector/service/timescale/TimescaleSqlGeneratorTest.java [211:238]
public void testTimescaleSetDataTypesGeneration() {
String schemaName = "orders-123";
TimescaleSchema schema = getValidSchema();
TimescaleColumn newColumn1 = TimescaleColumn.builder()
.dataType(TimescaleColumn.TimescaleDataType.VARCHAR)
.name("balance")
.build();
TimescaleColumn newColumn2 = TimescaleColumn.builder()
.dataType(TimescaleColumn.TimescaleDataType.INTEGER)
.name("somename")
.build();
Set<TimescaleColumn> columns = new HashSet<>();
columns.add(newColumn1);
columns.add(newColumn2);
String createTableStatement = sqlGenerator.generateCreateTableStatement(schema);
String createHypertableStatement = sqlGenerator.generateHypertableStatement(schema);
String setColumnDataTypeStatement = sqlGenerator.generateChangeDataTypeStatement(schemaName, columns);
dataService.executeQuery(createTableStatement);
dataService.executeQuery(createHypertableStatement);
dataService.executeQuery(setColumnDataTypeStatement);
assertThat(setColumnDataTypeStatement, is(Matchers.oneOf(
"ALTER TABLE \"orders-123\" ALTER COLUMN balance SET DATA TYPE VARCHAR USING balance::VARCHAR, ALTER COLUMN somename SET DATA TYPE INTEGER USING somename::INTEGER",
"ALTER TABLE \"orders-123\" ALTER COLUMN somename SET DATA TYPE INTEGER USING somename::INTEGER, ALTER COLUMN balance SET DATA TYPE VARCHAR USING balance::VARCHAR")));
}