Files
impala/testdata/datasets/functional/schema_constraints.csv
Gergely Fürnstáhl d0fe4c604f IMPALA-11619: Improve Iceberg V2 reads with a custom Iceberg Position Delete operator
IcebergDeleteNode and IcebergDeleteBuild classes are based on
PartitionedHashJoin counterparts. The actual "join" part of the node is
optimized, while others are kept very similarly, to be able to integrate
features of PartitionedHashJoin if needed (partitioning, spilling).

ICEBERG_DELETE_JOIN is added as a join operator which is used only by
IcebergDeleteNode node.

IcebergDeleteBuild processes the data from the relevant delete files and
stores them in a {file_path: ordered row id vector} hash map.

IcebergDeleteNode tracks the processed file and progresses through the
row id vector parallel to the probe batch to check if a row is deleted
or hashes the probe row's file path and uses binary search to find the
closest row id if it is needed for the check.

Testing:
  - Duplicated related planner tests to run both with new operator and
hash join
  - Added a dimension for e2e tests to run both with new operator and
hash join
  - Added new multiblock tests to verify assumptions used in new
operator to optimize probing
  - Added new test with BATCH_SIZE=2 to verify in/out batch handling
with new operator

Change-Id: I024a61573c83bda5584f243c879d9ff39dd2dcfa
Reviewed-on: http://gerrit.cloudera.org:8080/19850
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
2023-07-05 20:32:23 +00:00

27 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_partition_evolution, constraint:restrict_to, table_format:parquet/none/none
77table_name:iceberg_timestamp_part, constraint:restrict_to, table_format:parquet/none/none
78table_name:iceberg_timestamptz_part, constraint:restrict_to, table_format:parquet/none/none
79table_name:iceberg_uppercase_col, constraint:restrict_to, table_format:parquet/none/none
80table_name:iceberg_v2_delete_positional, constraint:restrict_to, table_format:parquet/none/none
81table_name:iceberg_v2_delete_equality, constraint:restrict_to, table_format:parquet/none/none
82table_name:iceberg_v2_no_deletes, constraint:restrict_to, table_format:parquet/none/none
83table_name:iceberg_v2_no_deletes_orc, constraint:restrict_to, table_format:parquet/none/none
84table_name:iceberg_v2_positional_update_all_rows, constraint:restrict_to, table_format:parquet/none/none
85table_name:iceberg_v2_positional_delete_all_rows, constraint:restrict_to, table_format:parquet/none/none
86table_name:iceberg_v2_positional_delete_all_rows_orc, constraint:restrict_to, table_format:parquet/none/none
87table_name:iceberg_v2_positional_not_all_data_files_have_delete_files, constraint:restrict_to, table_format:parquet/none/none
88table_name:iceberg_v2_positional_not_all_data_files_have_delete_files_orc, constraint:restrict_to, table_format:parquet/none/none
89table_name:iceberg_v2_partitioned_position_deletes, constraint:restrict_to, table_format:parquet/none/none
90table_name:iceberg_v2_partitioned_position_deletes_orc, constraint:restrict_to, table_format:parquet/none/none
91table_name:iceberg_multiple_storage_locations, constraint:restrict_to, table_format:parquet/none/none
92table_name:iceberg_avro_format, constraint:restrict_to, table_format:parquet/none/none
93table_name:iceberg_mixed_file_format, constraint:restrict_to, table_format:parquet/none/none
94table_name:iceberg_lineitem_multiblock, constraint:restrict_to, table_format:parquet/none/none
95# TODO: Support Avro. Data loading currently fails for Avro because complex types
96# cannot be converted to the corresponding Avro types yet.
97table_name:allcomplextypes, constraint:restrict_to, table_format:text/none/none
98table_name:allcomplextypes, constraint:restrict_to, table_format:parquet/none/none
99table_name:allcomplextypes, constraint:restrict_to, table_format:hbase/none/none
100table_name:functional, constraint:restrict_to, table_format:text/none/none
101table_name:complextypes_fileformat, constraint:restrict_to, table_format:text/none/none
102table_name:complextypes_fileformat, constraint:restrict_to, table_format:parquet/none/none
103table_name:complextypes_fileformat, constraint:restrict_to, table_format:avro/snap/block
104table_name:complextypes_fileformat, constraint:restrict_to, table_format:rc/snap/block
105table_name:complextypes_fileformat, constraint:restrict_to, table_format:seq/snap/block
106table_name:complextypes_fileformat, constraint:restrict_to, table_format:orc/def/block
107table_name:complextypes_multifileformat, constraint:restrict_to, table_format:text/none/none
108# TODO: Avro
109table_name:complextypestbl, constraint:restrict_to, table_format:parquet/none/none
110table_name:complextypestbl, constraint:restrict_to, table_format:orc/def/block
111table_name:complextypestbl_minor_compacted, constraint:restrict_to, table_format:orc/def/block
112table_name:complextypestbl_deleted_rows, constraint:restrict_to, table_format:orc/def/block
113table_name:complextypestbl_medium, constraint:restrict_to, table_format:parquet/none/none
114table_name:complextypestbl_medium, constraint:restrict_to, table_format:orc/def/block
115table_name:complextypestbl_non_transactional, constraint:restrict_to, table_format:orc/def/block
116table_name:pos_item_key_value_complextypestbl, constraint:restrict_to, table_format:orc/def/block
117table_name:pos_item_key_value_complextypestbl, constraint:restrict_to, table_format:parquet/none/none
118table_name:alltypes_structs, constraint:restrict_to, table_format:parquet/none/none
119table_name:alltypes_structs, constraint:restrict_to, table_format:orc/def/block
120table_name:complextypes_structs, constraint:restrict_to, table_format:parquet/none/none
121table_name:complextypes_structs, constraint:restrict_to, table_format:orc/def/block
122table_name:complextypes_nested_structs, constraint:restrict_to, table_format:parquet/none/none
123table_name:complextypes_nested_structs, constraint:restrict_to, table_format:orc/def/block
124table_name:complextypes_arrays, constraint:restrict_to, table_format:parquet/none/none
125table_name:complextypes_arrays, constraint:restrict_to, table_format:orc/def/block
126table_name:alltypeserror, constraint:exclude, table_format:parquet/none/none
127table_name:alltypeserrornonulls, constraint:exclude, table_format:parquet/none/none
128table_name:escapechartesttable, constraint:exclude, table_format:parquet/none/none
129table_name:TblWithRaggedColumns, constraint:exclude, table_format:parquet/none/none
130# the text_ tables are for testing test delimiters and escape chars in text files
131table_name:text_comma_backslash_newline, constraint:restrict_to, table_format:text/none/none
132table_name:text_dollar_hash_pipe, constraint:restrict_to, table_format:text/none/none
133table_name:text_thorn_ecirc_newline, constraint:restrict_to, table_format:text/none/none
134table_name:bad_serde, constraint:restrict_to, table_format:text/none/none
135table_name:rcfile_lazy_binary_serde, constraint:restrict_to, table_format:rc/none/none
136table_name:unsupported_timestamp_partition, constraint:restrict_to, table_format:text/none/none
137table_name:unsupported_binary_partition, constraint:restrict_to, table_format:text/none/none
138table_name:nullformat_custom, constraint:exclude, table_format:parquet/none/none
139table_name:alltypes_view, constraint:restrict_to, table_format:text/none/none
140table_name:allcomplextypes_view, constraint:restrict_to, table_format:text/none/none
141table_name:alltypes_view, constraint:restrict_to, table_format:seq/snap/block
142table_name:alltypes_hive_view, constraint:restrict_to, table_format:text/none/none
143table_name:alltypes_view_sub, constraint:restrict_to, table_format:text/none/none
144table_name:alltypes_view_sub, constraint:restrict_to, table_format:seq/snap/block
145table_name:alltypes_parens, constraint:restrict_to, table_format:text/none/none
146table_name:complex_view, constraint:restrict_to, table_format:text/none/none
147table_name:complex_view, constraint:restrict_to, table_format:seq/snap/block
148table_name:view_view, constraint:restrict_to, table_format:text/none/none
149table_name:view_view, constraint:restrict_to, table_format:seq/snap/block
150table_name:subquery_view, constraint:restrict_to, table_format:seq/snap/block
151table_name:subquery_view, constraint:restrict_to, table_format:rc/none/none
152# liketbl, tblwithraggedcolumns and manynulls all have
153# NULLs in primary key columns. hbase does not support
154# writing NULLs to primary key columns.
155table_name:liketbl, constraint:exclude, table_format:hbase/none/none
156table_name:manynulls, constraint:exclude, table_format:hbase/none/none
157table_name:tblwithraggedcolumns, constraint:exclude, table_format:hbase/none/none
158# Tables with only one column are not supported in hbase.
159table_name:greptiny, constraint:exclude, table_format:hbase/none/none
160table_name:tinyinttable, constraint:exclude, table_format:hbase/none/none
161# overflow uses a manually constructed text file which doesn't make sense to write to
162# other table formats since the values that would be written are different (e.g. already
163# truncated.)
164table_name:overflow, constraint:restrict_to, table_format:text/none/none
165# widerow has a single column with a single row containing a 10MB string. hbase doesn't
166# seem to like this.
167table_name:widerow, constraint:exclude, table_format:hbase/none/none
168# nullformat_custom is used in null-insert tests, which user insert overwrite,
169# which is not supported in hbase. The schema is also specified in HIVE_CREATE
170# with no corresponding LOAD statement.
171table_name:nullformat_custom, constraint:exclude, table_format:hbase/none/none
172# Decimal can only be tested on formats Impala can write to (text and parquet).
173# TODO: add Avro once Hive or Impala can write Avro decimals
174table_name:decimal_tbl, constraint:restrict_to, table_format:text/none/none
175table_name:decimal_tiny, constraint:restrict_to, table_format:text/none/none
176table_name:decimal_tbl, constraint:restrict_to, table_format:parquet/none/none
177table_name:decimal_tiny, constraint:restrict_to, table_format:parquet/none/none
178table_name:decimal_tbl, constraint:restrict_to, table_format:kudu/none/none
179table_name:decimal_tiny, constraint:restrict_to, table_format:kudu/none/none
180table_name:decimal_tbl, constraint:restrict_to, table_format:orc/def/block
181table_name:decimal_tiny, constraint:restrict_to, table_format:orc/def/block
182table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:text/none/none
183table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:parquet/none/none
184table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:kudu/none/none
185table_name:decimal_rtf_tbl, constraint:restrict_to, table_format:orc/def/block
186table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:text/none/none
187table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:parquet/none/none
188table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:kudu/none/none
189table_name:decimal_rtf_tiny_tbl, constraint:restrict_to, table_format:orc/def/block
190table_name:avro_decimal_tbl, constraint:restrict_to, table_format:avro/snap/block
191# CHAR is not supported by HBase.
192table_name:chars_tiny, constraint:exclude, table_format:hbase/none/none
193table_name:chars_medium, constraint:exclude, table_format:hbase/none/none
194# invalid_decimal_part_tbl[1,2,3] tables are used for testing invalid decimal
195# partition key values (see IMPALA-1040)
196table_name:invalid_decimal_part_tbl1, constraint:restrict_to, table_format:text/none/none
197table_name:invalid_decimal_part_tbl2, constraint:restrict_to, table_format:text/none/none
198table_name:invalid_decimal_part_tbl3, constraint:restrict_to, table_format:text/none/none
199table_name:avro_decimal_tbl, constraint:restrict_to, table_format:avro/snap/block
200# testescape tables are used for testing text scanner delimiter handling
201table_name:table_no_newline, constraint:restrict_to, table_format:text/none/none
202table_name:table_no_newline_part, constraint:restrict_to, table_format:text/none/none
203table_name:testescape_16_lf, constraint:restrict_to, table_format:text/none/none
204table_name:testescape_16_crlf, constraint:restrict_to, table_format:text/none/none
205table_name:testescape_17_lf, constraint:restrict_to, table_format:text/none/none
206table_name:testescape_17_crlf, constraint:restrict_to, table_format:text/none/none
207table_name:testescape_32_lf, constraint:restrict_to, table_format:text/none/none
208table_name:testescape_32_crlf, constraint:restrict_to, table_format:text/none/none
209# alltimezones is used to verify that impala properly deals with timezones
210table_name:alltimezones, constraint:restrict_to, table_format:text/none/none
211# Avro schema is inferred from the column definitions (IMPALA-1136)
212table_name:no_avro_schema, constraint:restrict_to, table_format:avro/snap/block
213table_name:avro_unicode_nulls, constraint:restrict_to, table_format:avro/snap/block
214# test single and multi stream bz2 files
215table_name:bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
216table_name:large_bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
217table_name:multistream_bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
218table_name:large_multistream_bzip2_tbl, constraint:restrict_to, table_format:text/bzip/block
219# Kudu can't handle certain types such as timestamp so we pick and choose the tables
220# we actually use for Kudu related tests.
221table_name:alltypes, constraint:only, table_format:kudu/none/none
222table_name:alltypessmall, constraint:only, table_format:kudu/none/none
223table_name:alltypestiny, constraint:only, table_format:kudu/none/none
224table_name:alltypesagg, constraint:only, table_format:kudu/none/none
225table_name:alltypesaggnonulls, constraint:only, table_format:kudu/none/none
226table_name:testtbl, constraint:only, table_format:kudu/none/none
227table_name:jointbl, constraint:only, table_format:kudu/none/none
228table_name:emptytable, constraint:only, table_format:kudu/none/none
229table_name:dimtbl, constraint:only, table_format:kudu/none/none
230table_name:tinytable, constraint:only, table_format:kudu/none/none
231table_name:tinyinttable, constraint:only, table_format:kudu/none/none
232table_name:zipcode_incomes, constraint:only, table_format:kudu/none/none
233table_name:nulltable, constraint:only, table_format:kudu/none/none
234table_name:nullrows, constraint:only, table_format:kudu/none/none
235table_name:nullescapedtable, constraint:only, table_format:kudu/none/none
236table_name:decimal_tbl, constraint:only, table_format:kudu/none/none
237table_name:decimal_rtf_tbl, constraint:only, table_format:kudu/none/none
238table_name:decimal_rtf_tiny_tbl, constraint:only, table_format:kudu/none/none
239table_name:decimal_tiny, constraint:only, table_format:kudu/none/none
240table_name:strings_with_quotes, constraint:only, table_format:kudu/none/none
241table_name:manynulls, constraint:only, table_format:kudu/none/none
242table_name:date_tbl, constraint:only, table_format:kudu/none/none
243# Skipping header lines is only effective with text tables
244table_name:table_with_header, constraint:restrict_to, table_format:text/none/none
245table_name:table_with_header_2, constraint:restrict_to, table_format:text/none/none
246table_name:table_with_header_insert, constraint:restrict_to, table_format:text/none/none
247# We also test that skipping header lines works on compressed tables (IMPALA-5287)
248table_name:table_with_header, constraint:restrict_to, table_format:text/gzip/block
249table_name:table_with_header_2, constraint:restrict_to, table_format:text/gzip/block
250table_name:table_with_header_insert, constraint:restrict_to, table_format:text/gzip/block
251# Inserting into parquet tables should not be affected by the 'skip.header.line.count'
252# property, so we test parquet format as well.
253table_name:table_with_header_insert, constraint:restrict_to, table_format:parquet/none/none
254# IMPALA-7368/IMPALA-7370/IMPALA-8198 adds DATE support for text, hbase, parquet and avro.
255# IMPALA-8801 adds DATE support for ORC.
256# IMPALA-8800 adds DATE support for Kudu.
257# Other file-formats will be introduced later.
258table_name:date_tbl, constraint:restrict_to, table_format:parquet/none/none
259table_name:date_tbl, constraint:restrict_to, table_format:avro/snap/block
260table_name:date_tbl, constraint:restrict_to, table_format:orc/def/block
261table_name:date_tbl, constraint:restrict_to, table_format:hbase/none/none
262table_name:date_tbl, constraint:restrict_to, table_format:kudu/none/none
263table_name:date_tbl, constraint:restrict_to, table_format:text/none/none
264table_name:date_tbl, constraint:restrict_to, table_format:text/bzip/block
265table_name:date_tbl, constraint:restrict_to, table_format:text/gzip/block
266table_name:date_tbl, constraint:restrict_to, table_format:text/snap/block
267table_name:date_tbl, constraint:restrict_to, table_format:text/def/block
268table_name:date_tbl_error, constraint:restrict_to, table_format:text/none/none
269table_name:date_tbl_error, constraint:restrict_to, table_format:text/bzip/block
270table_name:date_tbl_error, constraint:restrict_to, table_format:text/gzip/block
271table_name:date_tbl_error, constraint:restrict_to, table_format:text/snap/block
272table_name:date_tbl_error, constraint:restrict_to, table_format:text/def/block
273table_name:insert_date_tbl, constraint:restrict_to, table_format:hbase/none/none
274table_name:binary_tbl, constraint:exclude, table_format:kudu/none/none
275table_name:binary_tbl_big, constraint:exclude, table_format:kudu/none/none
276table_name:binary_in_complex_types, constraint:restrict_to, table_format:parquet/none/none
277table_name:binary_in_complex_types, constraint:restrict_to, table_format:orc/def/block
278# Full transactional table is only supported for ORC
279table_name:full_transactional_table, constraint:restrict_to, table_format:orc/def/block
280# Insert-only transactional tables only work for file-format based tables
281table_name:insert_only_transactional_table, constraint:exclude, table_format:hbase/none/none
282table_name:insert_only_transactional_table, constraint:exclude, table_format:kudu/none/none
283table_name:insertonly_nopart_insert, constraint:restrict_to, table_format:text/none/none
284table_name:insertonly_nopart_insert, constraint:restrict_to, table_format:parquet/none/none
285table_name:insertonly_part_insert, constraint:restrict_to, table_format:text/none/none
286table_name:insertonly_part_insert, constraint:restrict_to, table_format:parquet/none/none
287# A materialized view is based on one or more transactional (in this case insert-only)
288# base tables, so the MVs need to be excluded for the table formats where the base
289# tables are excluded
290table_name:materialized_view, constraint:exclude, table_format:hbase/none/none
291table_name:materialized_view, constraint:exclude, table_format:kudu/none/none
292table_name:mv1_alltypes_jointbl, constraint:restrict_to, table_format:orc/def/block
293table_name:mv2_alltypes_jointbl, constraint:restrict_to, table_format:orc/def/block
294table_name:insert_only_transactional_bucketed_table, constraint:exclude, table_format:hbase/none/none
295table_name:insert_only_transactional_bucketed_table, constraint:exclude, table_format:kudu/none/none
296# Bucketed tables only work for file-format based tables
297table_name:bucketed_ext_table, constraint:exclude, table_format:hbase/none/none
298table_name:bucketed_ext_table, constraint:exclude, table_format:kudu/none/none
299table_name:bucketed_table, constraint:exclude, table_format:hbase/none/none
300table_name:bucketed_table, constraint:exclude, table_format:kudu/none/none
301# The uncompressed ORC tables are mainly used in test_scanners_fuzz.py to avoid creating
302# them each time when running the test. Developers may run this test many times locally.
303table_name:uncomp_src_alltypes, constraint:restrict_to, table_format:orc/def/block
304table_name:uncomp_src_decimal_tbl, constraint:restrict_to, table_format:orc/def/block
305table_name:part_strings_with_quotes, constraint:restrict_to, table_format:text/none/none
306# 'alltypessmall_bool_sorted' only used in ORC tests.
307table_name:alltypessmall_bool_sorted, constraint:restrict_to, table_format:orc/def/block
308table_name:complextypes_arrays_only_view, constraint:restrict_to, table_format:parquet/none/none
309table_name:complextypes_arrays_only_view, constraint:restrict_to, table_format:orc/def/block
310table_name:collection_tbl, constraint:restrict_to, table_format:parquet/none/none
311table_name:collection_tbl, constraint:restrict_to, table_format:orc/def/block
312# In parquet we can't have NULL map keys but in ORC we can.
313table_name:map_null_keys, constraint:restrict_to, table_format:orc/def/block
314table_name:map_non_varlen, constraint:restrict_to, table_format:parquet/none/none
315table_name:map_non_varlen, constraint:restrict_to, table_format:orc/def/block
316table_name:collection_struct_mix, constraint:restrict_to, table_format:parquet/none/none
317table_name:collection_struct_mix, constraint:restrict_to, table_format:orc/def/block
318table_name:collection_struct_mix_view, constraint:restrict_to, table_format:parquet/none/none
319table_name:collection_struct_mix_view, constraint:restrict_to, table_format:orc/def/block
320table_name:simple_arrays_big, constraint:restrict_to, table_format:parquet/none/none
321table_name:simple_arrays_big, constraint:restrict_to, table_format:orc/def/block
322table_name:complextypes_maps_view, constraint:restrict_to, table_format:parquet/none/none
323table_name:complextypes_maps_view, constraint:restrict_to, table_format:orc/def/block
324# 'alltypestiny_negative' only used in ORC tests.
325table_name:alltypestiny_negative, constraint:restrict_to, table_format:orc/def/block
326table_name:insert_only_minor_compacted, constraint:restrict_to, table_format:parquet/none/none
327table_name:insert_only_major_and_minor_compacted, constraint:restrict_to, table_format:parquet/none/none
328# The table is used in large scale metadata test. File format doesn't matter so restrict to text only
329table_name:widetable_2000_cols_partitioned, constraint:restrict_to, table_format:text/none/none
330table_name:alltypesagg_parquet_v2_uncompressed, constraint:restrict_to, table_format:parquet/none/none
331table_name:alltypesagg_parquet_v2_snappy, constraint:restrict_to, table_format:parquet/none/none
332table_name:complextypestbl_parquet_v2_uncompressed, constraint:restrict_to, table_format:parquet/none/none
333table_name:complextypestbl_parquet_v2_snappy, constraint:restrict_to, table_format:parquet/none/none
334# The table is used to test a specific parquet page layout bug
335table_name:empty_parquet_page_source_impala10186, constraint:restrict_to, table_format:text/none/none
336# The table is used as test coverage for ORC-1304
337table_name:empty_stream_tbl, constraint:restrict_to, table_format:orc/def/block