Search in sources :

Example 6 with QueryResult

use of io.prestodb.tempto.query.QueryResult in project presto by prestodb.

the class TestSelect method testSelectWithNonEqualityFilterOnNonPartitioningKey.

@Test(groups = CASSANDRA)
public void testSelectWithNonEqualityFilterOnNonPartitioningKey() {
    String sql = format("SELECT n_name FROM %s.%s.%s WHERE n_name < 'B'", CONNECTOR_NAME, KEY_SPACE, CASSANDRA_NATION.getName());
    QueryResult queryResult = onPresto().executeQuery(sql);
    assertThat(queryResult).containsOnly(row("ALGERIA"), row("ARGENTINA"));
}
Also used : QueryResult(io.prestodb.tempto.query.QueryResult) Test(org.testng.annotations.Test) ProductTest(io.prestodb.tempto.ProductTest)

Example 7 with QueryResult

use of io.prestodb.tempto.query.QueryResult in project presto by prestodb.

the class TestSelect method testSelectWithEqualityFilterOnNonPartitioningKey.

@Test(groups = CASSANDRA)
public void testSelectWithEqualityFilterOnNonPartitioningKey() {
    String sql = format("SELECT n_name FROM %s.%s.%s WHERE n_name = 'UNITED STATES'", CONNECTOR_NAME, KEY_SPACE, CASSANDRA_NATION.getName());
    QueryResult queryResult = onPresto().executeQuery(sql);
    assertThat(queryResult).containsOnly(row("UNITED STATES"));
}
Also used : QueryResult(io.prestodb.tempto.query.QueryResult) Test(org.testng.annotations.Test) ProductTest(io.prestodb.tempto.ProductTest)

Example 8 with QueryResult

use of io.prestodb.tempto.query.QueryResult in project presto by prestodb.

the class TestSelect method testAllDataTypes.

@Test(groups = CASSANDRA)
public void testAllDataTypes() {
    // NOTE: DECIMAL is treated like DOUBLE
    QueryResult query = query(format("SELECT a, b, bl, bo, d, do, dt, f, fr, i, integer, l, m, s, si, t, ti, ts, tu, u, v, vari FROM %s.%s.%s", CONNECTOR_NAME, KEY_SPACE, CASSANDRA_ALL_TYPES.getName()));
    assertThat(query).hasColumns(VARCHAR, BIGINT, VARBINARY, BOOLEAN, DOUBLE, DOUBLE, DATE, REAL, VARCHAR, VARCHAR, INTEGER, VARCHAR, VARCHAR, VARCHAR, SMALLINT, VARCHAR, TINYINT, TIMESTAMP, VARCHAR, VARCHAR, VARCHAR, VARCHAR).containsOnly(row("\0", Long.MIN_VALUE, Bytes.fromHexString("0x00").array(), false, 0f, Double.MIN_VALUE, Date.valueOf("1970-01-02"), Float.MIN_VALUE, "[0]", "0.0.0.0", Integer.MIN_VALUE, "[0]", "{\"\\u0000\":-2147483648,\"a\":0}", "[0]", Short.MIN_VALUE, "\0", Byte.MIN_VALUE, Timestamp.valueOf(LocalDateTime.of(1970, 1, 1, 0, 0)), "d2177dd0-eaa2-11de-a572-001b779c76e3", "01234567-0123-0123-0123-0123456789ab", "\0", String.valueOf(Long.MIN_VALUE)), row("the quick brown fox jumped over the lazy dog", 9223372036854775807L, "01234".getBytes(), true, new Double("99999999999999999999999999999999999999"), Double.MAX_VALUE, Date.valueOf("9999-12-31"), Float.MAX_VALUE, "[4,5,6,7]", "255.255.255.255", Integer.MAX_VALUE, "[4,5,6]", "{\"a\":1,\"b\":2}", "[4,5,6]", Short.MAX_VALUE, "this is a text value", Byte.MAX_VALUE, Timestamp.valueOf(LocalDateTime.of(9999, 12, 31, 23, 59, 59)), "d2177dd0-eaa2-11de-a572-001b779c76e3", "01234567-0123-0123-0123-0123456789ab", "abc", String.valueOf(Long.MAX_VALUE)), row("def", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null));
}
Also used : QueryResult(io.prestodb.tempto.query.QueryResult) Test(org.testng.annotations.Test) ProductTest(io.prestodb.tempto.ProductTest)

Example 9 with QueryResult

use of io.prestodb.tempto.query.QueryResult in project presto by prestodb.

the class TestSelect method testSelectWithEqualityFilterOnPartitioningKey.

@Test(groups = CASSANDRA)
public void testSelectWithEqualityFilterOnPartitioningKey() {
    String sql = format("SELECT n_nationkey FROM %s.%s.%s WHERE n_nationkey = 0", CONNECTOR_NAME, KEY_SPACE, CASSANDRA_NATION.getName());
    QueryResult queryResult = onPresto().executeQuery(sql);
    assertThat(queryResult).containsOnly(row(0));
}
Also used : QueryResult(io.prestodb.tempto.query.QueryResult) Test(org.testng.annotations.Test) ProductTest(io.prestodb.tempto.ProductTest)

Example 10 with QueryResult

use of io.prestodb.tempto.query.QueryResult in project presto by prestodb.

the class TestSelect method testSelectWithMorePartitioningKeysThanLimitNonPK.

@Test(groups = CASSANDRA)
public void testSelectWithMorePartitioningKeysThanLimitNonPK() {
    String sql = format("SELECT s_suppkey FROM %s.%s.%s WHERE s_name = 'Supplier#000000010'", CONNECTOR_NAME, KEY_SPACE, CASSANDRA_SUPPLIER.getName());
    QueryResult queryResult = onPresto().executeQuery(sql);
    assertThat(queryResult).containsOnly(row(10));
}
Also used : QueryResult(io.prestodb.tempto.query.QueryResult) Test(org.testng.annotations.Test) ProductTest(io.prestodb.tempto.ProductTest)

Aggregations

QueryResult (io.prestodb.tempto.query.QueryResult)122 Test (org.testng.annotations.Test)110 ProductTest (io.prestodb.tempto.ProductTest)108 Requires (io.prestodb.tempto.Requires)38 BigDecimal (java.math.BigDecimal)14 Statement (java.sql.Statement)12 PreparedStatement (java.sql.PreparedStatement)8 Duration (io.airlift.units.Duration)6 Row (io.prestodb.tempto.assertions.QueryAssert.Row)6 List (java.util.List)6 STORAGE_FORMATS (com.facebook.presto.tests.TestGroups.STORAGE_FORMATS)4 ImmutableList.toImmutableList (com.google.common.collect.ImmutableList.toImmutableList)4 Row.row (io.prestodb.tempto.assertions.QueryAssert.Row.row)4 QueryAssert.assertThat (io.prestodb.tempto.assertions.QueryAssert.assertThat)4 QueryExecutor.query (io.prestodb.tempto.query.QueryExecutor.query)4 String.format (java.lang.String.format)4 Connection (java.sql.Connection)4 Response (com.facebook.airlift.http.client.Response)2 PrestoConnection (com.facebook.presto.jdbc.PrestoConnection)2 JdbcDriverUtils (com.facebook.presto.tests.utils.JdbcDriverUtils)2