Files
impala/testdata/datasets/functional/schema_constraints.csv
Daniel Becker 2d47306987 IMPALA-9551: Allow mixed complex types in select list
Currently collections and structs are supported in the select list, also
when they are nested (structs in structs and collections in
collections), but mixing different kinds of complex types, i.e. having
structs in collections or vice versa, is not supported.

This patch adds support for mixed complex types in the select list.

Limitation: zipping unnest is not supported for mixed complex types, for
example the following query:

  use functional_parquet;
  select unnest(struct_contains_nested_arr.arr) from
  collection_struct_mix;

Testing:
 - Created a new test table, 'collection_struct_mix', that contains
   mixed complex types.
 - Added tests in mixed-collections-and-structs.test that test having
   mixed complex types in the select list. These tests are called from
   test_nested_types.py::TestMixedCollectionsAndStructsInSelectList.
 - Ran existing tests that test collections and structs in the select
   list; test queries that expected a failure in case of mixed complex
   types have been moved to mixed-collections-and-structs.test and now
   expect success.

Change-Id: I476d98884b5fd192dfcd4feeec7947526aebe993
Reviewed-on: http://gerrit.cloudera.org:8080/19322
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2023-03-07 13:22:33 +00:00

26 KiB

1# Table level constraints:
2# Allows for defining constraints on which file formats to generate for an individual
3# table. The table name should match the base table name defined in the schema template
4# file.
5table_name:stringids, constraint:restrict_to, table_format:hbase/none/none
6table_name:hbasecolumnfamilies, constraint:restrict_to, table_format:hbase/none/none
7table_name:insertalltypesagg, constraint:restrict_to, table_format:hbase/none/none
8table_name:alltypessmallbinary, constraint:restrict_to, table_format:hbase/none/none
9table_name:insertalltypesaggbinary, constraint:restrict_to, table_format:hbase/none/none
10table_name:hbasealltypeserror, constraint:restrict_to, table_format:hbase/none/none
11table_name:hbasealltypeserrornonulls, constraint:restrict_to, table_format:hbase/none/none
12table_name:alltypes_date_partition, constraint:restrict_to, table_format:text/none/none
13table_name:alltypesinsert, constraint:restrict_to, table_format:text/none/none
14table_name:alltypes_promoted, constraint:restrict_to, table_format:orc/def/block
15table_name:alltypes_deleted_rows, constraint:restrict_to, table_format:orc/def/block
16table_name:stringpartitionkey, constraint:restrict_to, table_format:text/none/none
17table_name:alltypesnopart_insert, constraint:restrict_to, table_format:text/none/none
18table_name:insert_overwrite_nopart, constraint:restrict_to, table_format:text/none/none
19table_name:insert_overwrite_partitioned, constraint:restrict_to, table_format:text/none/none
20table_name:insert_string_partitioned, constraint:restrict_to, table_format:text/none/none
21table_name:alltypesinsert, constraint:restrict_to, table_format:parquet/none/none
22table_name:alltypesnopart_insert, constraint:restrict_to, table_format:parquet/none/none
23table_name:alltypesinsert, constraint:restrict_to, table_format:text/none/none
24table_name:alltypesnopart_insert, constraint:restrict_to, table_format:text/none/none
25table_name:insert_overwrite_nopart, constraint:restrict_to, table_format:text/none/none
26table_name:insert_overwrite_partitioned, constraint:restrict_to, table_format:text/none/none
27table_name:insert_string_partitioned, constraint:restrict_to, table_format:text/none/none
28table_name:alltypesinsert, constraint:restrict_to, table_format:parquet/none/none
29table_name:alltypesnopart_insert, constraint:restrict_to, table_format:parquet/none/none
30table_name:insert_overwrite_nopart, constraint:restrict_to, table_format:parquet/none/none
31table_name:insert_overwrite_partitioned, constraint:restrict_to, table_format:parquet/none/none
32table_name:insert_string_partitioned, constraint:restrict_to, table_format:parquet/none/none
33table_name:old_rcfile_table, constraint:restrict_to, table_format:rc/none/none
34table_name:bad_text_gzip, constraint:restrict_to, table_format:text/gzip/block
35table_name:bad_seq_snap, constraint:restrict_to, table_format:seq/snap/block
36table_name:bad_avro_snap_strings, constraint:restrict_to, table_format:avro/snap/block
37table_name:bad_avro_snap_floats, constraint:restrict_to, table_format:avro/snap/block
38table_name:bad_avro_decimal_schema, constraint:restrict_to, table_format:avro/snap/block
39table_name:bad_avro_date_out_of_range, constraint:restrict_to, table_format:avro/snap/block
40table_name:hive2_bad_avro_date_pre_gregorian, constraint:restrict_to, table_format:avro/snap/block
41table_name:hive3_avro_date_pre_gregorian, constraint:restrict_to, table_format:avro/snap/block
42table_name:bad_parquet, constraint:restrict_to, table_format:parquet/none/none
43table_name:bad_parquet_strings_negative_len, constraint:restrict_to, table_format:parquet/none/none
44table_name:bad_parquet_strings_out_of_bounds, constraint:restrict_to, table_format:parquet/none/none
45table_name:bad_parquet_decimals, constraint:restrict_to, table_format:parquet/none/none
46table_name:bad_magic_number, constraint:restrict_to, table_format:parquet/none/none
47table_name:bad_metadata_len, constraint:restrict_to, table_format:parquet/none/none
48table_name:bad_dict_page_offset, constraint:restrict_to, table_format:parquet/none/none
49table_name:bad_compressed_size, constraint:restrict_to, table_format:parquet/none/none
50table_name:alltypesagg_hive_13_1, constraint:restrict_to, table_format:parquet/none/none
51table_name:kite_required_fields, constraint:restrict_to, table_format:parquet/none/none
52table_name:bad_column_metadata, constraint:restrict_to, table_format:parquet/none/none
53table_name:lineitem_multiblock, constraint:restrict_to, table_format:parquet/none/none
54table_name:lineitem_sixblocks, constraint:restrict_to, table_format:parquet/none/none
55table_name:lineitem_multiblock_one_row_group, constraint:restrict_to, table_format:parquet/none/none
56table_name:lineitem_multiblock_variable_num_rows, constraint:restrict_to, table_format:parquet/none/none
57table_name:customer_multiblock, constraint:restrict_to, table_format:parquet/none/none
58table_name:hudi_partitioned, constraint:restrict_to, table_format:parquet/none/none
59table_name:hudi_non_partitioned, constraint:restrict_to, table_format:parquet/none/none
60table_name:hudi_as_parquet, constraint:restrict_to, table_format:parquet/none/none
61# Iceberg tests are executed in the PARQUET file format dimension
62table_name:airports_orc, constraint:restrict_to, table_format:parquet/none/none
63table_name:airports_parquet, constraint:restrict_to, table_format:parquet/none/none
64table_name:complextypestbl_iceberg_orc, constraint:restrict_to, table_format:parquet/none/none
65table_name:hadoop_catalog_test_external, constraint:restrict_to, table_format:parquet/none/none
66table_name:iceberg_int_partitioned, constraint:restrict_to, table_format:parquet/none/none
67table_name:iceberg_non_partitioned, constraint:restrict_to, table_format:parquet/none/none
68table_name:iceberg_partitioned, constraint:restrict_to, table_format:parquet/none/none
69table_name:iceberg_partitioned_orc_external, constraint:restrict_to, table_format:parquet/none/none
70table_name:iceberg_partition_transforms_zorder, constraint:restrict_to, table_format:parquet/none/none
71table_name:iceberg_resolution_test_external, constraint:restrict_to, table_format:parquet/none/none
72table_name:iceberg_alltypes_part, constraint:restrict_to, table_format:parquet/none/none
73table_name:iceberg_alltypes_part_orc, constraint:restrict_to, table_format:parquet/none/none
74table_name:iceberg_legacy_partition_schema_evolution, constraint:restrict_to, table_format:parquet/none/none
75table_name:iceberg_legacy_partition_schema_evolution_orc, constraint:restrict_to, table_format:parquet/none/none
76table_name:iceberg_timestamp_part, constraint:restrict_to, table_format:parquet/none/none
77table_name:iceberg_timestamptz_part, constraint:restrict_to, table_format:parquet/none/none
78table_name:iceberg_uppercase_col, constraint:restrict_to, table_format:parquet/none/none
79table_name:iceberg_v2_delete_positional, constraint:restrict_to, table_format:parquet/none/none
80table_name:iceberg_v2_no_deletes, constraint:restrict_to, table_format:parquet/none/none
81table_name:iceberg_v2_no_deletes_orc, constraint:restrict_to, table_format:parquet/none/none
82table_name:iceberg_v2_positional_update_all_rows, constraint:restrict_to, table_format:parquet/none/none
83table_name:iceberg_v2_positional_delete_all_rows, constraint:restrict_to, table_format:parquet/none/none
84table_name:iceberg_v2_positional_delete_all_rows_orc, constraint:restrict_to, table_format:parquet/none/none
85table_name:iceberg_v2_positional_not_all_data_files_have_delete_files, constraint:restrict_to, table_format:parquet/none/none
86table_name:iceberg_v2_positional_not_all_data_files_have_delete_files_orc, constraint:restrict_to, table_format:parquet/none/none
87table_name:iceberg_v2_partitioned_position_deletes, constraint:restrict_to, table_format:parquet/none/none
88table_name:iceberg_v2_partitioned_position_deletes_orc, constraint:restrict_to, table_format:parquet/none/none
89table_name:iceberg_multiple_storage_locations, constraint:restrict_to, table_format:parquet/none/none
90table_name:iceberg_avro_format, constraint:restrict_to, table_format:parquet/none/none
91table_name:iceberg_mixed_file_format, constraint:restrict_to, table_format:parquet/none/none
92# TODO: Support Avro. Data loading currently fails for Avro because complex types
93# cannot be converted to the corresponding Avro types yet.
94table_name:allcomplextypes, constraint:restrict_to, table_format:text/none/none
95table_name:allcomplextypes, constraint:restrict_to, table_format:parquet/none/none
96table_name:allcomplextypes, constraint:restrict_to, table_format:hbase/none/none
97table_name:functional, constraint:restrict_to, table_format:text/none/none
98table_name:complextypes_fileformat, constraint:restrict_to, table_format:text/none/none
99table_name:complextypes_fileformat, constraint:restrict_to, table_format:parquet/none/none
100table_name:complextypes_fileformat, constraint:restrict_to, table_format:avro/snap/block
101table_name:complextypes_fileformat, constraint:restrict_to, table_format:rc/snap/block
102table_name:complextypes_fileformat, constraint:restrict_to, table_format:seq/snap/block
103table_name:complextypes_fileformat, constraint:restrict_to, table_format:orc/def/block
104table_name:complextypes_multifileformat, constraint:restrict_to, table_format:text/none/none
105# TODO: Avro
106table_name:complextypestbl, constraint:restrict_to, table_format:parquet/none/none
107table_name:complextypestbl, constraint:restrict_to, table_format:orc/def/block
108table_name:complextypestbl_minor_compacted, constraint:restrict_to, table_format:orc/def/block
109table_name:complextypestbl_deleted_rows, constraint:restrict_to, table_format:orc/def/block
110table_name:complextypestbl_medium, constraint:restrict_to, table_format:parquet/none/none
111table_name:complextypestbl_medium, constraint:restrict_to, table_format:orc/def/block
112table_name:complextypestbl_non_transactional, constraint:restrict_to, table_format:orc/def/block
113table_name:pos_item_key_value_complextypestbl, constraint:restrict_to, table_format:orc/def/block
114table_name:pos_item_key_value_complextypestbl, constraint:restrict_to, table_format:parquet/none/none
115table_name:alltypes_structs, constraint:restrict_to, table_format:parquet/none/none
116table_name:alltypes_structs, constraint:restrict_to, table_format:orc/def/block
117table_name:complextypes_structs, constraint:restrict_to, table_format:parquet/none/none
118table_name:complextypes_structs, constraint:restrict_to, table_format:orc/def/block
119table_name:complextypes_nested_structs, constraint:restrict_to, table_format:parquet/none/none
120table_name:complextypes_nested_structs, constraint:restrict_to, table_format:orc/def/block
121table_name:complextypes_arrays, constraint:restrict_to, table_format:parquet/none/none
122table_name:complextypes_arrays, constraint:restrict_to, table_format:orc/def/block
123table_name:alltypeserror, constraint:exclude, table_format:parquet/none/none
124table_name:alltypeserrornonulls, constraint:exclude, table_format:parquet/none/none
125table_name:escapechartesttable, constraint:exclude, table_format:parquet/none/none
126table_name:TblWithRaggedColumns, constraint:exclude, table_format:parquet/none/none
127# the text_ tables are for testing test delimiters and escape chars in text files
128table_name:text_comma_backslash_newline, constraint:restrict_to, table_format:text/none/none
129table_name:text_dollar_hash_pipe, constraint:restrict_to, table_format:text/none/none
130table_name:text_thorn_ecirc_newline, constraint:restrict_to, table_format:text/none/none
131table_name:bad_serde, constraint:restrict_to, table_format:text/none/none
132table_name:rcfile_lazy_binary_serde, constraint:restrict_to, table_format:rc/none/none
133table_name:unsupported_timestamp_partition, constraint:restrict_to, table_format:text/none/none
134table_name:unsupported_binary_partition, constraint:restrict_to, table_format:text/none/none
135table_name:nullformat_custom, constraint:exclude, table_format:parquet/none/none
136table_name:alltypes_view, constraint:restrict_to, table_format:text/none/none
137table_name:allcomplextypes_view, constraint:restrict_to, table_format:text/none/none
138table_name:alltypes_view, constraint:restrict_to, table_format:seq/snap/block
139table_name:alltypes_hive_view, constraint:restrict_to, table_format:text/none/none
140table_name:alltypes_view_sub, constraint:restrict_to, table_format:text/none/none
141table_name:alltypes_view_sub, constraint:restrict_to, table_format:seq/snap/block
142table_name:alltypes_parens, constraint:restrict_to, table_format:text/none/none
143table_name:complex_view, constraint:restrict_to, table_format:text/none/none
144table_name:complex_view, constraint:restrict_to, table_format:seq/snap/block
145table_name:view_view, constraint:restrict_to, table_format:text/none/none
146table_name:view_view, constraint:restrict_to, table_format:seq/snap/block
147table_name:subquery_view, constraint:restrict_to, table_format:seq/snap/block
148table_name:subquery_view, constraint:restrict_to, table_format:rc/none/none
149# liketbl, tblwithraggedcolumns and manynulls all have
150# NULLs in primary key columns. hbase does not support
151# writing NULLs to primary key columns.
152table_name:liketbl, constraint:exclude, table_format:hbase/none/none
153table_name:manynulls, constraint:exclude, table_format:hbase/none/none
154table_name:tblwithraggedcolumns, constraint:exclude, table_format:hbase/none/none
155# Tables with only one column are not supported in hbase.
156table_name:greptiny, constraint:exclude, table_format:hbase/none/none
157table_name:tinyinttable, constraint:exclude, table_format:hbase/none/none
158# overflow uses a manually constructed text file which doesn't make sense to write to
159# other table formats since the values that would be written are different (e.g. already
160# truncated.)
161table_name:overflow, constraint:restrict_to, table_format:text/none/none
162# widerow has a single column with a single row containing a 10MB string. hbase doesn't
163# seem to like this.
164table_name:widerow, constraint:exclude, table_format:hbase/none/none
165# nullformat_custom is used in null-insert tests, which user insert overwrite,
166# which is not supported in hbase. The schema is also specified in HIVE_CREATE
167# with no corresponding LOAD statement.
168table_name:nullformat_custom, constraint:exclude, table_format:hbase/none/none
169# Decimal can only be tested on formats Impala can write to (text and parquet).
170# TODO: add Avro once Hive or Impala can write Avro decimals
171table_name:decimal_tbl, constraint:restrict_to, table_format:text/none/none
172table_name:decimal_tiny, constraint:restrict_to, table_format:text/none/none
173table_name:decimal_tbl, constraint:restrict_to, table_format:parquet/none/none
174table_name:decimal_tiny, constraint:restrict_to, table_format:parquet/none/none
175table_name:decimal_tbl, constraint:restrict_to, table_format:kudu/none/none
176table_name:decimal_tiny, constraint:restrict_to, table_format:kudu/none/none
177table_name:decimal_tbl, constraint:restrict_to, table_format:orc/def/block
178table_name:decimal_tiny, constraint:restrict_to, table_format:orc/def/block
179table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:text/none/none
180table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:parquet/none/none
181table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:kudu/none/none
182table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:orc/def/block
183table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:text/none/none
184table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:parquet/none/none
185table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:kudu/none/none
186table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:orc/def/block
187table_name:avro_decimal_tbl, constraint:restrict_to, table_format:avro/snap/block
188# CHAR is not supported by HBase.
189table_name:chars_tiny, constraint:exclude, table_format:hbase/none/none
190table_name:chars_medium, constraint:exclude, table_format:hbase/none/none
191# invalid_decimal_part_tbl[1,2,3] tables are used for testing invalid decimal
192# partition key values (see IMPALA-1040)
193table_name:invalid_decimal_part_tbl1, constraint:restrict_to, table_format:text/none/none
194table_name:invalid_decimal_part_tbl2, constraint:restrict_to, table_format:text/none/none
195table_name:invalid_decimal_part_tbl3, constraint:restrict_to, table_format:text/none/none
196table_name:avro_decimal_tbl, constraint:restrict_to, table_format:avro/snap/block
197# testescape tables are used for testing text scanner delimiter handling
198table_name:table_no_newline, constraint:restrict_to, table_format:text/none/none
199table_name:table_no_newline_part, constraint:restrict_to, table_format:text/none/none
200table_name:testescape_16_lf, constraint:restrict_to, table_format:text/none/none
201table_name:testescape_16_crlf, constraint:restrict_to, table_format:text/none/none
202table_name:testescape_17_lf, constraint:restrict_to, table_format:text/none/none
203table_name:testescape_17_crlf, constraint:restrict_to, table_format:text/none/none
204table_name:testescape_32_lf, constraint:restrict_to, table_format:text/none/none
205table_name:testescape_32_crlf, constraint:restrict_to, table_format:text/none/none
206# alltimezones is used to verify that impala properly deals with timezones
207table_name:alltimezones, constraint:restrict_to, table_format:text/none/none
208# Avro schema is inferred from the column definitions (IMPALA-1136)
209table_name:no_avro_schema, constraint:restrict_to, table_format:avro/snap/block
210table_name:avro_unicode_nulls, constraint:restrict_to, table_format:avro/snap/block
211# test single and multi stream bz2 files
212table_name:bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
213table_name:large_bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
214table_name:multistream_bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
215table_name:large_multistream_bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
216# Kudu can't handle certain types such as timestamp so we pick and choose the tables
217# we actually use for Kudu related tests.
218table_name:alltypes, constraint:only, table_format:kudu/none/none
219table_name:alltypessmall, constraint:only, table_format:kudu/none/none
220table_name:alltypestiny, constraint:only, table_format:kudu/none/none
221table_name:alltypesagg, constraint:only, table_format:kudu/none/none
222table_name:alltypesaggnonulls, constraint:only, table_format:kudu/none/none
223table_name:testtbl, constraint:only, table_format:kudu/none/none
224table_name:jointbl, constraint:only, table_format:kudu/none/none
225table_name:emptytable, constraint:only, table_format:kudu/none/none
226table_name:dimtbl, constraint:only, table_format:kudu/none/none
227table_name:tinytable, constraint:only, table_format:kudu/none/none
228table_name:tinyinttable, constraint:only, table_format:kudu/none/none
229table_name:zipcode_incomes, constraint:only, table_format:kudu/none/none
230table_name:nulltable, constraint:only, table_format:kudu/none/none
231table_name:nullrows, constraint:only, table_format:kudu/none/none
232table_name:nullescapedtable, constraint:only, table_format:kudu/none/none
233table_name:decimal_tbl, constraint:only, table_format:kudu/none/none
234table_name:decimal_rtf_tbl, constraint:only, table_format:kudu/none/none
235table_name:decimal_rtf_tiny_tbl, constraint:only, table_format:kudu/none/none
236table_name:decimal_tiny, constraint:only, table_format:kudu/none/none
237table_name:strings_with_quotes, constraint:only, table_format:kudu/none/none
238table_name:manynulls, constraint:only, table_format:kudu/none/none
239table_name:date_tbl, constraint:only, table_format:kudu/none/none
240# Skipping header lines is only effective with text tables
241table_name:table_with_header, constraint:restrict_to, table_format:text/none/none
242table_name:table_with_header_2, constraint:restrict_to, table_format:text/none/none
243table_name:table_with_header_insert, constraint:restrict_to, table_format:text/none/none
244# We also test that skipping header lines works on compressed tables (IMPALA-5287)
245table_name:table_with_header, constraint:restrict_to, table_format:text/gzip/block
246table_name:table_with_header_2, constraint:restrict_to, table_format:text/gzip/block
247table_name:table_with_header_insert, constraint:restrict_to, table_format:text/gzip/block
248# Inserting into parquet tables should not be affected by the 'skip.header.line.count'
249# property, so we test parquet format as well.
250table_name:table_with_header_insert, constraint:restrict_to, table_format:parquet/none/none
251# IMPALA-7368/IMPALA-7370/IMPALA-8198 adds DATE support for text, hbase, parquet and avro.
252# IMPALA-8801 adds DATE support for ORC.
253# IMPALA-8800 adds DATE support for Kudu.
254# Other file-formats will be introduced later.
255table_name:date_tbl, constraint:restrict_to, table_format:parquet/none/none
256table_name:date_tbl, constraint:restrict_to, table_format:avro/snap/block
257table_name:date_tbl, constraint:restrict_to, table_format:orc/def/block
258table_name:date_tbl, constraint:restrict_to, table_format:hbase/none/none
259table_name:date_tbl, constraint:restrict_to, table_format:kudu/none/none
260table_name:date_tbl, constraint:restrict_to, table_format:text/none/none
261table_name:date_tbl, constraint:restrict_to, table_format:text/bzip/block
262table_name:date_tbl, constraint:restrict_to, table_format:text/gzip/block
263table_name:date_tbl, constraint:restrict_to, table_format:text/snap/block
264table_name:date_tbl, constraint:restrict_to, table_format:text/def/block
265table_name:date_tbl_error, constraint:restrict_to, table_format:text/none/none
266table_name:date_tbl_error, constraint:restrict_to, table_format:text/bzip/block
267table_name:date_tbl_error, constraint:restrict_to, table_format:text/gzip/block
268table_name:date_tbl_error, constraint:restrict_to, table_format:text/snap/block
269table_name:date_tbl_error, constraint:restrict_to, table_format:text/def/block
270table_name:insert_date_tbl, constraint:restrict_to, table_format:hbase/none/none
271table_name:binary_tbl, constraint:exclude, table_format:kudu/none/none
272table_name:binary_tbl_big, constraint:exclude, table_format:kudu/none/none
273table_name:binary_in_complex_types, constraint:restrict_to, table_format:parquet/none/none
274table_name:binary_in_complex_types, constraint:restrict_to, table_format:orc/def/block
275# Full transactional table is only supported for ORC
276table_name:full_transactional_table, constraint:restrict_to, table_format:orc/def/block
277# Insert-only transactional tables only work for file-format based tables
278table_name:insert_only_transactional_table, constraint:exclude, table_format:hbase/none/none
279table_name:insert_only_transactional_table, constraint:exclude, table_format:kudu/none/none
280table_name:insertonly_nopart_insert, constraint:restrict_to, table_format:text/none/none
281table_name:insertonly_nopart_insert, constraint:restrict_to, table_format:parquet/none/none
282table_name:insertonly_part_insert, constraint:restrict_to, table_format:text/none/none
283table_name:insertonly_part_insert, constraint:restrict_to, table_format:parquet/none/none
284# A materialized view is based on one or more transactional (in this case insert-only)
285# base tables, so the MVs need to be excluded for the table formats where the base
286# tables are excluded
287table_name:materialized_view, constraint:exclude, table_format:hbase/none/none
288table_name:materialized_view, constraint:exclude, table_format:kudu/none/none
289table_name:mv1_alltypes_jointbl, constraint:restrict_to, table_format:orc/def/block
290table_name:mv2_alltypes_jointbl, constraint:restrict_to, table_format:orc/def/block
291table_name:insert_only_transactional_bucketed_table, constraint:exclude, table_format:hbase/none/none
292table_name:insert_only_transactional_bucketed_table, constraint:exclude, table_format:kudu/none/none
293# Bucketed tables only work for file-format based tables
294table_name:bucketed_ext_table, constraint:exclude, table_format:hbase/none/none
295table_name:bucketed_ext_table, constraint:exclude, table_format:kudu/none/none
296table_name:bucketed_table, constraint:exclude, table_format:hbase/none/none
297table_name:bucketed_table, constraint:exclude, table_format:kudu/none/none
298# The uncompressed ORC tables are mainly used in test_scanners_fuzz.py to avoid creating
299# them each time when running the test. Developers may run this test many times locally.
300table_name:uncomp_src_alltypes, constraint:restrict_to, table_format:orc/def/block
301table_name:uncomp_src_decimal_tbl, constraint:restrict_to, table_format:orc/def/block
302table_name:part_strings_with_quotes, constraint:restrict_to, table_format:text/none/none
303# 'alltypessmall_bool_sorted' only used in ORC tests.
304table_name:alltypessmall_bool_sorted, constraint:restrict_to, table_format:orc/def/block
305table_name:complextypes_arrays_only_view, constraint:restrict_to, table_format:parquet/none/none
306table_name:complextypes_arrays_only_view, constraint:restrict_to, table_format:orc/def/block
307table_name:collection_tbl, constraint:restrict_to, table_format:parquet/none/none
308table_name:collection_tbl, constraint:restrict_to, table_format:orc/def/block
309# In parquet we can't have NULL map keys but in ORC we can.
310table_name:map_null_keys, constraint:restrict_to, table_format:orc/def/block
311table_name:collection_struct_mix, constraint:restrict_to, table_format:parquet/none/none
312table_name:collection_struct_mix, constraint:restrict_to, table_format:orc/def/block
313table_name:collection_struct_mix_view, constraint:restrict_to, table_format:parquet/none/none
314table_name:collection_struct_mix_view, constraint:restrict_to, table_format:orc/def/block
315table_name:complextypes_maps_view, constraint:restrict_to, table_format:parquet/none/none
316table_name:complextypes_maps_view, constraint:restrict_to, table_format:orc/def/block
317# 'alltypestiny_negative' only used in ORC tests.
318table_name:alltypestiny_negative, constraint:restrict_to, table_format:orc/def/block
319table_name:insert_only_minor_compacted, constraint:restrict_to, table_format:parquet/none/none
320table_name:insert_only_major_and_minor_compacted, constraint:restrict_to, table_format:parquet/none/none
321# The table is used in large scale metadata test. File format doesn't matter so restrict to text only
322table_name:widetable_2000_cols_partitioned, constraint:restrict_to, table_format:text/none/none