ClickHouse / ClickHouse/ClickHouse

Deletion Error with Ephemeral Column in Table

Open
#71,793 2 comments 1 reaction 0 assignees View on GitHub
bug comp-mutations external
Dominant language
C++
Stars
49.9k
Forks
9k
Avg merge
21h 32m
Merged PRs (30d)
515

Description

Summary

An error occurs when attempting to delete rows from a table that includes an EPHEMERAL column, even when the deletion condition is unrelated to the EPHEMERAL column.

Steps to Reproduce

1. Create a table with an EPHEMERAL column:
```sql
create table dba_dev.EphemerealTest on cluster '{cluster}'
(
Name String,
`ID` Array(String) MATERIALIZED `IDEphemereal`,
`IDEphemereal` Array(String) EPHEMERAL defaultValueOfTypeName('Array(String)')
)
ENGINE = ReplicatedMergeTree()
order by Name;
```
2. Insert data into the table:
```sql
insert into dba_dev.EphemerealTest(Name, IDEphemereal) values (['Test'], ['1']);
insert into dba_dev.EphemerealTest(Name, IDEphemereal) values (['Test2'], ['2']);
```
3. Run a SELECT query to confirm data:
```sql
select Name, ID from dba_dev.EphemerealTest;
```

result:
```
['Test2'] ['2']
['Test'] ['1']
```

4. Try to delete a row with a condition unrelated to the EPHEMERAL column:
```sql
delete from dba_dev.EphemerealTest where has(Name, 'Test2');
```
Expected Behavior

The row should be deleted without error.

Actual Behavior

An error is raised:

```
Missing columns: 'IDEphemereal' while processing query: 'IDEphemereal', required columns: 'IDEphemereal' 'IDEphemereal'. (UNKNOWN_IDENTIFIER) (version 24.5.4.49 (official build))
```

Additional Information

• ClickHouse version: 24.5.4.49 (official build)
• It seems that EPHEMERAL columns are causing issues when performing delete operations, even if the deletion condition does not involve these columns.

Suggested Solution (If applicable)

Allow delete operations to proceed without requiring the EPHEMERAL column if it is not directly involved in the query.

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.