ClickHouse / ClickHouse/ClickHouse

PREWHERE support for DeltaLake and Iceberg tables

Open
#87,562 4 comments 1 reaction 1 assignee Claimed by @scanhex12 View on GitHub
comp-datalake feature
Dominant language
C++
Stars
49.9k
Forks
9k
Avg merge
21h 32m
Merged PRs (30d)
515

Description

### Company or project name

ClickHouse employee 😄

### Use case

The PREWHERE is not supported in DeltaLake and Iceberg tables, while the table function versions and the new Parquet reader do so.

```sql
CREATE TABLE t0 (c0 Int) ENGINE = IcebergLocal(local, path = '/var/lib/clickhouse/user_files/lakehouses/t0', format = 'Parquet');
SELECT c0 FROM t0 PREWHERE ... SETTINGS input_format_parquet_use_native_reader_v3 = 1;
--DB::Exception: Storage IcebergLocal (table default.t0 (62cef28a-4260-40e0-aa57-f87ea0ccadef)) does not support PREWHERE. (ILLEGAL_PREWHERE)
```

### Describe the solution you'd like

The PREWHERE clause should be supported for DeltaLake and Iceberg tables.

### Describe alternatives you've considered

Using the table functions.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.