<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yql/essentials/tests/sql/suites/join, branch oidc-1.2.5-dev</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=oidc-1.2.5-dev</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=oidc-1.2.5-dev'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2025-07-21T11:13:37Z</updated>
<entry>
<title>YQL-19896: allow optional side in SingleInputPredicatePushdownOverEquiJoin in some cases</title>
<updated>2025-07-21T11:13:37Z</updated>
<author>
<name>lucius</name>
<email>lucius@yandex-team.com</email>
</author>
<published>2025-07-21T10:57:54Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=fea05ea76fdac14746236e14bda98ce8cc29fb00'/>
<id>urn:sha1:fea05ea76fdac14746236e14bda98ce8cc29fb00</id>
<content type='text'>
Разрешаем пушить на необязательную сторону предикат, который использует только ключевые колонки с обязательной стороны джоина.

1) рассматриваемый предикат зависит только 1 стороны и это обязательная сторона джоина

2) предикат зависит только от ключевых колонок джоина

3) все соответствующие по ключу джоина колонки в обязательном  и необязательном инпутах должны полностью совпадать по типу

В этих случаях мы пушим предикат не только на обязательную, но и на необязательную сторону
commit_hash:1404e877fdd271dbe8342478a20b99b6f99a4fda
</content>
</entry>
<entry>
<title>YQL-19896 allow onlyKeys=true in FilterPushdownOverJoinOptionalSide</title>
<updated>2025-07-10T11:24:32Z</updated>
<author>
<name>lucius</name>
<email>lucius@yandex-team.com</email>
</author>
<published>2025-07-10T11:08:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b21ba11dd54a6d80cabdde4beebff2dc3a1373e6'/>
<id>urn:sha1:b21ba11dd54a6d80cabdde4beebff2dc3a1373e6</id>
<content type='text'>
Сейчас FilterPushdownOverJoinOptionalSide не работает если в предикате используются только колонки из ключа джоина — причин так делать нет, исправляю (под флагом временно чтобы канонизировать тесты ydb)
commit_hash:93aa956e4460d95e9e8592595de5e8a77027786b
</content>
</entry>
<entry>
<title>YQL-20085: fix FilterPushdownOverJoinOptionalSide</title>
<updated>2025-07-04T07:47:46Z</updated>
<author>
<name>lucius</name>
<email>lucius@yandex-team.com</email>
</author>
<published>2025-07-04T07:22:12Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=94d6d80a1937f3cf2817a2a1d7e04b28eaa7565f'/>
<id>urn:sha1:94d6d80a1937f3cf2817a2a1d7e04b28eaa7565f</id>
<content type='text'>
Тут чинятся 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
</content>
</entry>
<entry>
<title>DropAnyOverDistinctEquiJoinInput optimizer</title>
<updated>2025-06-19T09:29:47Z</updated>
<author>
<name>ziganshinmr</name>
<email>ziganshinmr@yandex-team.com</email>
</author>
<published>2025-06-19T09:14:41Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=1223801cc77e826dc90a5ac0017a24d4c163cc64'/>
<id>urn:sha1:1223801cc77e826dc90a5ac0017a24d4c163cc64</id>
<content type='text'>
commit_hash:f3a7045b9ba62617929a3d5ad882c9dd2702f2eb
</content>
</entry>
<entry>
<title>Save distinct constraint for PruneKeys</title>
<updated>2025-06-03T14:18:41Z</updated>
<author>
<name>mpereskokova</name>
<email>mpereskokova@yandex-team.com</email>
</author>
<published>2025-06-03T12:52:10Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f341c9126a1c66f49b841f6ef787ab18bc3d3bf5'/>
<id>urn:sha1:f341c9126a1c66f49b841f6ef787ab18bc3d3bf5</id>
<content type='text'>
commit_hash:c571530f0a74edc44a65da0388e8e4c543121044
</content>
</entry>
<entry>
<title>Fix FilterPushDownJoinOverJoinOptionalSide parent join is a Cross join aka TPCDS49</title>
<updated>2025-05-05T09:54:35Z</updated>
<author>
<name>deniskhalikov</name>
<email>deniskhalikov@yandex-team.com</email>
</author>
<published>2025-05-05T09:36:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f27bf502e7bc7fb070667216006bcb5436781643'/>
<id>urn:sha1:f27bf502e7bc7fb070667216006bcb5436781643</id>
<content type='text'>
commit_hash:4f17c967af68dec9e71fc475a9e08cc5a10f7b7f
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-04-24T11:40:41Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-04-24T11:26:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=161ecf84d5fd2bfd842e91ac2f628e9ca2e900da'/>
<id>urn:sha1:161ecf84d5fd2bfd842e91ac2f628e9ca2e900da</id>
<content type='text'>
commit_hash:b561940fa34bb32aa7a67fa8522fb39ffe55d141
</content>
</entry>
<entry>
<title>Add pruneKeys in EquiJoin</title>
<updated>2025-04-17T04:49:22Z</updated>
<author>
<name>mpereskokova</name>
<email>mpereskokova@yandex-team.com</email>
</author>
<published>2025-04-17T04:34:43Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=9b44be1dd627cdc45103e07c3186eda2a400d8dd'/>
<id>urn:sha1:9b44be1dd627cdc45103e07c3186eda2a400d8dd</id>
<content type='text'>
commit_hash:24b52143fbef864df48f3359b14f9e0294f367f5
</content>
</entry>
<entry>
<title>Rework equality filter over EquiJoin</title>
<updated>2025-02-27T10:18:13Z</updated>
<author>
<name>aneporada</name>
<email>aneporada@yandex-team.com</email>
</author>
<published>2025-02-27T10:02:53Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e6af4dfb936cc2e6d0fc6460b9844715387eb62f'/>
<id>urn:sha1:e6af4dfb936cc2e6d0fc6460b9844715387eb62f</id>
<content type='text'>
commit_hash:10510b8bb813fc6d43f7269501390d20c65ab52f
</content>
</entry>
<entry>
<title>YQL-19192 Fix a bug in in-mem cross-join</title>
<updated>2025-01-16T00:12:52Z</updated>
<author>
<name>avevad</name>
<email>avevad@yandex-team.com</email>
</author>
<published>2025-01-15T23:54:28Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=96a6bd3bf87c39c8257a86654f45eabf6546a778'/>
<id>urn:sha1:96a6bd3bf87c39c8257a86654f45eabf6546a778</id>
<content type='text'>
commit_hash:053aa7fb2386f44720aa5fa726f3014791ea9b65
</content>
</entry>
</feed>
