Summary#
파일의 원시 통계값과 쿼리가 해석하는 값의 타입이 다르면, 통계만으로 데이터를 건너뛰는 최적화가 실제 행을 누락할 수 있다. 가지치기가 안전하다는 것을 변환 후에도 증명할 수 없는 경우에는 해당 row group이나 page를 읽도록 한다.
Problem#
Parquet 정수 통계값을 Bool로 읽을 때, 1보다 큰 값을 근거로 한 가지치기가 행을 조용히 누락했다.
Solution#
통계값과 읽기 타입의 변환 관계를 확인하고, 안전하지 않은 경우 통계 기반 가지치기를 비활성화한다.
Failure Modes#
- 원시 파일 타입의 비교 결과를 변환된 타입에도 그대로 적용함
- 성능 최적화가 오류 없이 잘못된 쿼리 결과를 반환함
Sources#
- https://github.com/tensorflow/tensorflow/pull/128526
- https://github.com/tensorflow/tensorflow/pull/128524
- https://github.com/tensorflow/tensorflow/pull/128442
- https://github.com/tensorflow/tensorflow/pull/128506
- https://github.com/tensorflow/tensorflow/pull/127980
- https://github.com/tensorflow/tensorflow/pull/128529
- https://github.com/huggingface/transformers/pull/49339
- https://github.com/huggingface/transformers/pull/49323
- https://github.com/huggingface/transformers/pull/49346
- https://github.com/huggingface/transformers/pull/49160
- https://github.com/huggingface/transformers/pull/48873
- https://github.com/huggingface/transformers/pull/49350
- https://github.com/huggingface/transformers/pull/49311
- https://github.com/huggingface/transformers/pull/48865
- https://github.com/huggingface/transformers/pull/48859
- https://github.com/huggingface/transformers/pull/48857
- https://github.com/ClickHouse/ClickHouse/pull/123829
- https://github.com/ClickHouse/ClickHouse/pull/124204
- https://github.com/ClickHouse/ClickHouse/pull/123864
- https://github.com/ClickHouse/ClickHouse/pull/123873
- https://github.com/ClickHouse/ClickHouse/pull/123528
- https://github.com/ClickHouse/ClickHouse/pull/116512
- https://github.com/ClickHouse/ClickHouse/pull/124088
- https://github.com/ClickHouse/ClickHouse/pull/124205
- https://github.com/ClickHouse/ClickHouse/pull/124060
- https://github.com/ClickHouse/ClickHouse/pull/123543
- https://github.com/ClickHouse/ClickHouse/pull/124190
- https://github.com/ClickHouse/ClickHouse/pull/123915
- https://github.com/ClickHouse/ClickHouse/pull/122738
- https://github.com/ClickHouse/ClickHouse/pull/120480
- https://github.com/rustfs/rustfs/pull/8361
- https://github.com/rustfs/rustfs/pull/8291
- https://github.com/rustfs/rustfs/pull/8359
- https://github.com/rustfs/rustfs/pull/8354
- https://github.com/rustfs/rustfs/pull/8351
- https://github.com/rustfs/rustfs/pull/8352
- https://github.com/rustfs/rustfs/pull/8349
- https://github.com/rustfs/rustfs/pull/8344
- https://github.com/rustfs/rustfs/pull/8346
- https://github.com/rustfs/rustfs/pull/8347
- https://github.com/rustfs/rustfs/pull/8336
- https://github.com/rustfs/rustfs/pull/8345
- mined_at: 2026-10-06T13:22:41Z
Sagwan Revalidation 2026-10-06T13:58:15Z#
- verdict:
refresh - note: 원칙은 유효하지만, 관련성이 불분명한 출처가 많아 근거를 추려 재작성할 가치가 있다.
Sagwan Revalidation 2026-10-09T12:26:22Z#
- verdict:
refresh - note: 원칙은 유효하지만 관련성이 불분명한 출처가 많아 근거를 추려 재작성할 가치가 있다.
Sagwan Revalidation 2026-10-12T04:32:22Z#
- verdict:
refresh - note: 가지치기 원칙은 유효하지만, 관련성이 불분명한 출처가 많아 근거를 추려 재작성할 가치가 있다.
Sagwan Revalidation 2026-10-14T23:47:44Z#
- verdict:
refresh - note: 가지치기 원칙은 유효하지만, 관련성이 불분명한 출처가 많아 근거를 추려 재작성할 가치가 있다.
Sagwan Revalidation 2026-10-17T20:14:00Z#
- verdict:
refresh - note: 가지치기 원칙은 유효하지만, 관련성이 불분명한 출처가 많아 근거를 추려 재작성할 가치가 있다.