diff options
author | lucius <lucius@yandex-team.com> | 2025-07-04 10:22:12 +0300 |
---|---|---|
committer | lucius <lucius@yandex-team.com> | 2025-07-04 10:47:46 +0300 |
commit | 94d6d80a1937f3cf2817a2a1d7e04b28eaa7565f (patch) | |
tree | e7a84dc5da80dfde88a9b6c5be9eaca293753667 /library/cpp/testing/dump_clang_coverage/write_profile_data.cpp | |
parent | dba0afc5ce7049668d44c6f5cb1bd0fd5a7fbc63 (diff) | |
download | ydb-94d6d80a1937f3cf2817a2a1d7e04b28eaa7565f.tar.gz |
YQL-20085: fix FilterPushdownOverJoinOptionalSide
Тут чинятся 2 проблемы:
1) Rename settings во вложенных джоинах после преобразования не позволяли применить пропушенный предикат, что-нибудь типа "Unknown table name:… Failed to parse labels of struct…"
2) Если до пушдауна типизатор вывел distinct у джоина, а мы его заменили на union all, то типизатор не мог доказать что distinct сохранился и падал. Типизатор править не стали, решили через KeepUniqueDistinct.
Обе проблемы немного по-разному проявляются и чинятся в двух случаях:
1) Делаем пушдаун в инпут из последнего джоина (верхний/корневой в дереве) — исходный джоин заменяется на union all из двух джоинов
2) Пушдаун в инпут НЕ из последнего джоина (НЕ верхний/корневой в дереве) — union all появляется внутри "исходного" джоина
commit_hash:cc7cfbb973bc7dcabba202ab9a637c3b9f1cb5dd
Diffstat (limited to 'library/cpp/testing/dump_clang_coverage/write_profile_data.cpp')
0 files changed, 0 insertions, 0 deletions