use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.
the class SqlPeriodSyntaxTest method testPeriodExtendInterpolateOptions.
@Issue("3058")
@Test
public void testPeriodExtendInterpolateOptions() {
String sqlQuery = String.format("SELECT datetime, AVG(value) FROM \"%s\" %nWHERE entity = '%s'" + "AND datetime >= '2016-06-19T11:00:00.500Z' AND datetime < '2016-06-19T11:00:11.000Z' %n" + "GROUP BY PERIOD(2500 MILLISECOND, EXTEND, LINEAR)", TEST_METRIC_NAME, TEST_ENTITY_NAME);
StringTable resultTable = queryResponse(sqlQuery).readEntity(StringTable.class);
List<List<String>> expectedRows = Arrays.asList(// <-EXTEND BY NEXT
Arrays.asList("2016-06-19T11:00:02.500Z", "1.0"), Arrays.asList("2016-06-19T11:00:05.000Z", "1.0"), // <-INTERPOLATED BY LINEAR
Arrays.asList("2016-06-19T11:00:07.500Z", "1.5"), Arrays.asList("2016-06-19T11:00:10.000Z", "2.0"));
assertTableRowsExist(expectedRows, resultTable);
}
use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.
the class SqlPeriodSyntaxTest method testPeriodAlignInterpolateOptions.
@Issue("3058")
@Test
public void testPeriodAlignInterpolateOptions() {
String sqlQuery = String.format("SELECT datetime, AVG(value) FROM \"%s\" %nWHERE entity = '%s' %n" + "AND datetime >= '2016-06-19T11:00:00.500Z' AND datetime < '2016-06-19T11:00:11.000Z' %n" + "GROUP BY PERIOD(2500 MILLISECOND, START_TIME, VALUE 0)", TEST_METRIC_NAME, TEST_ENTITY_NAME);
StringTable resultTable = queryResponse(sqlQuery).readEntity(StringTable.class);
List<List<String>> expectedRows = Arrays.asList(Arrays.asList("2016-06-19T11:00:03.000Z", "1.0"), // <-INTERPOLATED BY VALUE 0
Arrays.asList("2016-06-19T11:00:05.500Z", "0.0"), Arrays.asList("2016-06-19T11:00:08.000Z", "2.0"));
assertTableRowsExist(expectedRows, resultTable);
}
use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.
the class SqlPeriodSyntaxTest method testPeriodExtendInterpolateAlignOptions.
@Issue("3058")
@Test
public void testPeriodExtendInterpolateAlignOptions() {
String sqlQuery = String.format("SELECT datetime, AVG(value) FROM \"%s\" %nWHERE entity = '%s' %n" + "AND datetime >= '2016-06-19T10:59:57.500Z' AND datetime < '2016-06-19T11:00:13.000Z' %n" + "GROUP BY PERIOD(2500 MILLISECOND, EXTEND, LINEAR, START_TIME)", TEST_METRIC_NAME, TEST_ENTITY_NAME);
StringTable resultTable = queryResponse(sqlQuery).readEntity(StringTable.class);
List<List<String>> expectedRows = Arrays.asList(// <-EXTENDED BY NEXT
Arrays.asList("2016-06-19T10:59:57.500Z", "0.0"), Arrays.asList("2016-06-19T11:00:00.000Z", "0.0"), // <-INTERPOLATED BY LINEAR
Arrays.asList("2016-06-19T11:00:02.500Z", "0.5"), Arrays.asList("2016-06-19T11:00:05.000Z", "1.0"), // <-INTERPOLATED BY LINEAR
Arrays.asList("2016-06-19T11:00:07.500Z", "1.5"), Arrays.asList("2016-06-19T11:00:10.000Z", "2.0"), // <-EXTENDED BY PREVIOUS
Arrays.asList("2016-06-19T11:00:12.500Z", "2.0"));
assertTableRowsExist(expectedRows, resultTable);
}
use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.
the class CastTest method testCastNumberAsStringApplied.
@Issue("3770")
@Test(dataProvider = "castNumberArgumentsProvider")
public void testCastNumberAsStringApplied(String castArgument) throws Exception {
Series series = castNumberAsStringSeries;
String sqlQuery = String.format("SELECT CAST(%s AS string) FROM \"%s\"", castArgument, series.getMetric());
StringTable resultTable = SqlMethod.queryTable(sqlQuery);
assertEquals("Bad column type for CAST as string column", "string", resultTable.getColumnMetaData(0).getDataType());
}
use of com.axibase.tsd.api.model.sql.StringTable in project atsd-api-test by axibase.
the class CastTest method testCastNumberAsStringPassedToStringFunction.
@Issue("3770")
@Test(dataProvider = "castNumberArgumentsProvider")
public void testCastNumberAsStringPassedToStringFunction(String castArgument) throws Exception {
Series series = castNumberAsStringSeries;
String sqlQuery = String.format("SELECT CONCAT('foo', CAST(%s AS string)) FROM \"%s\"", castArgument, series.getMetric());
StringTable resultTable = SqlMethod.queryTable(sqlQuery);
assertEquals("'foo' has not been concatenated with casted number", "foo", resultTable.getValueAt(0, 0).substring(0, 3));
}
Aggregations