Skip to content

[Dev] Add the supports_pushdown_type to disable pushing down _row_id filters#856

Open
Tishj wants to merge 2 commits intoduckdb:mainfrom
Tishj:reenable_supports_pushdown_type_callback
Open

[Dev] Add the supports_pushdown_type to disable pushing down _row_id filters#856
Tishj wants to merge 2 commits intoduckdb:mainfrom
Tishj:reenable_supports_pushdown_type_callback

Conversation

@Tishj
Copy link
Copy Markdown
Member

@Tishj Tishj commented Mar 25, 2026

This PR is a follow up to #745

@Tishj
Copy link
Copy Markdown
Member Author

Tishj commented Mar 25, 2026

INTERNAL Error: Assertion triggered in file "/Users/thijs/DuckDBLabs/duckdb_iceberg/duckdb/src/execution/expression_executor.cpp" on line 123: result.GetType().id() == expressions[expr_idx]->return_type.id()

It's broken, and likely requires fixes in core..
This error comes from this mismatch:

input:

(lldb) p input_chunk.Print()
Chunk - [4 Columns]
- FLAT BIGINT: 2 = [ NULL, NULL]
- FLAT BIGINT: 2 = [ 0, 1]
- FLAT INTEGER: 2 = [ 2, 6]
- DICTIONARY VARCHAR: 2 = [ replaced_again, replaced_again]

output:

(lldb) p output_chunk.data[0].GetType().ToString()
(std::string) "INTEGER"
(lldb) p output_chunk.data[1].GetType().ToString()
(std::string) "VARCHAR"
(lldb) p output_chunk.data[2].GetType().ToString()
(std::string) "BIGINT"

expressions:

(lldb) p executor.expressions[0]->ToString()
(std::string) "COALESCE(#0, (0 + #1))"
(lldb) p executor.expressions[1]->ToString()
(std::string) "#2"
(lldb) p executor.expressions[2]->ToString()
(std::string) "#3"

For whatever reason it's placing the expression for the _row_id at the start, not at the end, where the vector is placed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant