tests: add test for hiding virtual columns from WRITETIME

Visibility checks for virtual columns' WRITETIME and TTL
are added.
This commit is contained in:
Piotr Sarna
2019-02-26 11:09:51 +01:00
parent af39787bf0
commit 09eb0429ce

View File

@@ -3734,3 +3734,18 @@ SEASTAR_THREAD_TEST_CASE(node_view_update_backlog) {
b.add_fetch(1, backlog(100));
BOOST_REQUIRE(b.load() == backlog(100));
}
SEASTAR_TEST_CASE(hide_ttl_and_writetime_for_virtual_columns) {
return do_with_cql_env_thread([] (cql_test_env& e) {
e.execute_cql("CREATE TABLE t (k int, c int, a int, b int, e int, f int, g int, primary key(k, c))").get();
e.execute_cql("CREATE MATERIALIZED VIEW mv1 AS SELECT k,c,a,b FROM t "
"WHERE k IS NOT NULL AND c IS NOT NULL PRIMARY KEY (c, k)").get();
e.execute_cql("CREATE MATERIALIZED VIEW mv2 AS SELECT k,c,a,b FROM t "
"WHERE k IS NOT NULL AND c IS NOT NULL AND a IS NOT NULL PRIMARY KEY (c, k, a)").get();
BOOST_REQUIRE_THROW(e.execute_cql("SELECT WRITETIME(e) FROM mv1").get(), exceptions::invalid_request_exception);
BOOST_REQUIRE_THROW(e.execute_cql("SELECT WRITETIME(e) FROM mv2").get(), exceptions::invalid_request_exception);
BOOST_REQUIRE_THROW(e.execute_cql("SELECT TTL(e) FROM mv1").get(), exceptions::invalid_request_exception);
BOOST_REQUIRE_THROW(e.execute_cql("SELECT TTL(e) FROM mv2").get(), exceptions::invalid_request_exception);
});
}