# TODO: enable this once we have a way to invalidate kudu clients (IMPALA-5685)
#====
#---- QUERY
#show create table functional_kudu.alltypestiny
#---- CATCH
#Error opening Kudu table 'impala::functional_kudu.alltypestiny'
#====
====
---- QUERY
# TODO: improve error messages (here and below) when KUDU-1734 is resolved
describe functional_kudu.alltypes
---- CATCH
Error opening Kudu table 'impala::functional_kudu.alltypes'
====
---- QUERY
create table test_kudu (x int primary key)
partition by hash(x) partitions 3 stored as kudu
---- CATCH
Error creating Kudu table
====
---- QUERY
create external table test_kudu
stored as kudu
tblproperties('kudu.table_name'='doesnt_matter_this_times_out')
---- CATCH
Error loading schema of table 'doesnt_matter_this_times_out'
====
