public void testTimescaleSetDataTypesGeneration()

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")));
    }