Conversation
|
Create table in ice CH WRITE PATH |
xieandrew
left a comment
There was a problem hiding this comment.
An edge case and potential optimization I found, other than that it looks good.
| auto inner_type = removeNullable(sample_block->getByPosition(i).type); | ||
| if (isNothing(inner_type)) |
There was a problem hiding this comment.
It looks like this doesn't check for Nothing type inside nested types (tuple, array, or map), so those nested Nothing values are not filtered for the writer. It would be good to check if that causes the parquet writer to fail.
| filtered_columns.reserve(columns.size() - nothing_column_indices.size()); | ||
| for (size_t i = 0; i < columns.size(); ++i) | ||
| { | ||
| if (std::find(nothing_column_indices.begin(), nothing_column_indices.end(), i) == nothing_column_indices.end()) |
There was a problem hiding this comment.
The std::find on every column/chunk could removed if the constructor computes a list of column indices to keep instead of nothing_column_indices. Then you would only need to iterate the kept column indices and directly add columns[i] to filtered_columns.
Audit update for PR #2363 (Iceberg v3
|
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Support for iceberg v3
unknowndatatype which is maps toNullable(Nothing)in Clickhouse. Read and write path(Parquet).CI/CD Options
Exclude tests:
Regression jobs to run: