<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yt/yql/tests/sql/suites, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-07-17T09:58:08Z</updated>
<entry>
<title>Support proper write to sorted yt table</title>
<updated>2026-07-17T09:58:08Z</updated>
<author>
<name>artemmashin</name>
<email>artemmashin@yandex-team.com</email>
</author>
<published>2026-07-16T11:53:41Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=3dff175fc5960889dfbf66bdbd9f73e31d784068'/>
<id>urn:sha1:3dff175fc5960889dfbf66bdbd9f73e31d784068</id>
<content type='text'>
commit_hash:572af6eec0409e60c1c7a234f7b60275da0aaf37
</content>
</entry>
<entry>
<title>YQL-20445: Lineage support for multi-input reduce</title>
<updated>2026-07-14T08:48:13Z</updated>
<author>
<name>maxkovalev</name>
<email>maxkovalev@yandex-team.com</email>
</author>
<published>2026-07-14T08:19:54Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5ba7699ae4d23f8dd23d2b7c47df27898c07dcc4'/>
<id>urn:sha1:5ba7699ae4d23f8dd23d2b7c47df27898c07dcc4</id>
<content type='text'>
#### Lineage support for multi-input reduce operations ✎

- Enhanced lineage tracking to properly handle multi-input reduce operations by capturing and propagating data flow information across multiple input streams
- Extended lineage collection logic to process complex nested operations including `Mux`, `Chopper`, `Condense1`, and updated `LMap`/`OrderedLMap` handlers
- Improved schema reference handling and field lineage propagation for structured data types in reduce operations
- Added new test cases and validation to ensure correct lineage generation for multi-input reduce scenarios
- Updated lineage collection for various operators to maintain consistency and accuracy in data dependency tracking

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:73935e78374633a17d6558ce5ba0102f911a666e
</content>
</entry>
<entry>
<title>Change `MATERIALIZE` grammar to exclude `WITH` statement ambiguity</title>
<updated>2026-07-10T15:57:46Z</updated>
<author>
<name>udovichenko-r</name>
<email>udovichenko-r@yandex-team.com</email>
</author>
<published>2026-07-10T15:24:05Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bfc3e416ce63656ec74e61b20864880e741ecf20'/>
<id>urn:sha1:bfc3e416ce63656ec74e61b20864880e741ecf20</id>
<content type='text'>
#### Change MATERIALIZE grammar to exclude hints ambiguity ✎

- Restructured the MATERIALIZE statement grammar to resolve ambiguity between table hints and cluster specification by reordering clauses to place hints after the target cluster
- Updated minimum language version requirement for the MATERIALIZE feature to 2026.02
- Modified format tests and validation logic to align with the new grammar structure
- Added tests for single and multiple hints to ensure proper parsing and handling
- Updated canonical test outputs to reflect the new syntax order with hints positioned after the INTO clause and before the ON clause

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:0dec4e34cf45e66962a8e8884c6cee893ad3dfb2
</content>
</entry>
<entry>
<title>Fix YQL native YT type flags: Complete Edition</title>
<updated>2026-07-10T13:22:51Z</updated>
<author>
<name>ziganshinmr</name>
<email>ziganshinmr@yandex-team.com</email>
</author>
<published>2026-07-10T12:29:42Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=01ee947723850a3fc428b73d801a5a53cbe8cc56'/>
<id>urn:sha1:01ee947723850a3fc428b73d801a5a53cbe8cc56</id>
<content type='text'>
- Cherry-picked original "Fix YQL native YT type flags" and "Fix YT native types handling for aux columns - 2" with additional fixes (previously reverted)
- Enforce mandatory usage of the type v3 schema for output tables
- Major refactoring of Skiff encoder/decoder to fix non-complex nativeness support
commit_hash:2b4241624a261a690c916a7386b84cb3d483a373
</content>
</entry>
<entry>
<title>Support PruneUnusedColumns in Materialize</title>
<updated>2026-07-10T09:30:27Z</updated>
<author>
<name>udovichenko-r</name>
<email>udovichenko-r@yandex-team.com</email>
</author>
<published>2026-07-10T08:42:49Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c181cf9e34c6a3821de9e6d815e3f16ce243d612'/>
<id>urn:sha1:c181cf9e34c6a3821de9e6d815e3f16ce243d612</id>
<content type='text'>
#### Support PruneUnusedColumns in Materialize ✎

- Adds support for the `prune_unused_columns` setting in Materialize operations, enabling optimization to remove unused columns from materialized tables
- Extends the YtProvider to recognize and validate the new PruneUnusedColumns setting for both Materialize and Persist operations
- Implements optimizations to handle column pruning in Materialize operations, including handling ExtractMembers over Materialize cases and multi-usage scenarios
- Updates physical finalizing logic to properly handle Persist operations with PruneUnusedColumns setting
- Adds new test cases to verify the functionality of column pruning in Materialize operations with various filtering scenarios
- Modifies existing tests to reflect changes in behavior and ensure compatibility with the new optimization feature

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:83c18981b8767ac2b789c1b1ae81aaa1ee164a92
</content>
</entry>
<entry>
<title>YQL-21375: Add AssumeUnique and AssumeDistinct callables to Lineage</title>
<updated>2026-07-09T12:37:11Z</updated>
<author>
<name>maxkovalev</name>
<email>maxkovalev@yandex-team.com</email>
</author>
<published>2026-07-09T11:58:40Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=557f794f90a95a1e3e432b7ecedb1bc9b615a44e'/>
<id>urn:sha1:557f794f90a95a1e3e432b7ecedb1bc9b615a44e</id>
<content type='text'>
#### Add AssumeUnique and AssumeDistinct Callables to Lineage ✎

- Extend lineage tracking to include new `AssumeUnique` and `AssumeDistinct` callables, enabling more precise dependency analysis for SQL operations that assume uniqueness or distinctness of data.
- Introduce additional related callables (`AssumeUniqueHint`, `AssumeDistinctHint`, etc.) to support enhanced lineage computation for various optimization hints and constraints.
- Add comprehensive test cases and validation to ensure correct handling of these new callables in SQL-to-YQL conversion and lineage generation.

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:42b9290cd290b6c5113fe1875fc7c215f4e0070d
</content>
</entry>
<entry>
<title>YQL-21363: Support EvaluateAtom source on YqlSelect</title>
<updated>2026-07-08T11:45:02Z</updated>
<author>
<name>vitya-smirnov</name>
<email>vitya-smirnov@yandex-team.com</email>
</author>
<published>2026-07-08T11:07:30Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4c9f9581f3e56dd7bbf51b788e3da15f809191ca'/>
<id>urn:sha1:4c9f9581f3e56dd7bbf51b788e3da15f809191ca</id>
<content type='text'>
#### Support EvaluateAtom source in YqlSelect ✎

- Introduces support for `EvaluateAtom` as a source in YqlSelect, enabling dynamic cluster and key resolution at query execution time
- Replaces literal string fields with deferred atom types to allow expression evaluation for cluster and key identifiers
- Adds logic to convert deferred atoms to `EvaluateAtom` nodes during query compilation, supporting complex expressions in table references
- Enables usage of variables and string concatenation in cluster and table path specifications, enhancing query flexibility
- Updates parsing and building logic to handle deferred atoms in table references while maintaining backward compatibility
- Adds new test cases to verify the functionality with variable expressions and dynamic table paths

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:89e4e90dd2d018de373373af560f48a1015e01e8
</content>
</entry>
<entry>
<title>Push Any in EquiJoin tree</title>
<updated>2026-07-06T16:08:27Z</updated>
<author>
<name>mpereskokova</name>
<email>mpereskokova@yandex-team.com</email>
</author>
<published>2026-07-06T15:23:22Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4d87973984a719c41b6e7a846d93fc8052208495'/>
<id>urn:sha1:4d87973984a719c41b6e7a846d93fc8052208495</id>
<content type='text'>
#### Push Any in EquiJoin tree ✎

- Introduces logic to push "Any" hints through EquiJoin tree structures to optimize join operations
- Adds support for all join types (Inner, Left, Right, Full, Semi, etc.) when pushing Any hints
- Moves PruneKeys functionality to the leaves of EquiJoin tree and enhances its behavior
- Implements new optimization passes that improve pruning and hint propagation in join operations
- Updates test suite with comprehensive test cases covering various join types and key shapes
- Refactors existing code by moving EquiJoin-related optimizations into a dedicated flow step

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:fda17ab32277b4da545c8df1393eaeb8a7e5c229
</content>
</entry>
<entry>
<title>Support new Materialize in YT provider</title>
<updated>2026-07-03T19:55:44Z</updated>
<author>
<name>udovichenko-r</name>
<email>udovichenko-r@yandex-team.com</email>
</author>
<published>2026-07-03T19:30:07Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=2672ec5d53dbb9e6e9fd2e20d92429d8b0ec455b'/>
<id>urn:sha1:2672ec5d53dbb9e6e9fd2e20d92429d8b0ec455b</id>
<content type='text'>
#### Support new Materialize in YT provider ✎

- Introduces support for the new Materialize operation in the YT provider, enabling materialization of query results into temporary tables
- Adds necessary type annotations, constraint handling, and execution logic for the Materialize operation
- Implements physical optimization rules to properly handle Materialize operations during query planning
- Includes support for persisting materialized data and integrating it with existing YT operations like Publish and Copy
- Adds comprehensive test cases covering various Materialize scenarios including basic usage, sorting preservation, and complex expressions
- Updates SQL-to-YQL conversion to properly handle Materialize statements in SQL queries

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:f915520020d0958e0e8c2a298b197564d3298675
</content>
</entry>
<entry>
<title>YQL-19699: Keep World for AND/OR Absorption</title>
<updated>2026-07-03T14:03:53Z</updated>
<author>
<name>maxkovalev</name>
<email>maxkovalev@yandex-team.com</email>
</author>
<published>2026-07-03T13:31:13Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5c10539b219fbb0925be48c79d47e3c33d2eda95'/>
<id>urn:sha1:5c10539b219fbb0925be48c79d47e3c33d2eda95</id>
<content type='text'>
#### `YQL-19699`: Keep World for AND/OR Absorption ✎

- Introduces logic to preserve world information during AND/OR absorption optimizations to prevent incorrect side effect handling
- Adds validation to ensure side effects are properly considered when determining if expressions can be safely absorbed
- Updates optimization passes to maintain world context in cases where logical absorption would otherwise alter execution semantics
- Includes comprehensive test coverage for various side effect scenarios in logical absorption cases
- Ensures that optimizations respect the presence of side effects in expressions to maintain correct evaluation order and behavior

&lt;a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"&gt;&lt;font size="2"&gt;Autodescription by Yandex Code Assistant&lt;/font&gt;&lt;/a&gt;
commit_hash:5802b1e45ce9c14cafddb9ba5e0356406a6d8fe3
</content>
</entry>
</feed>
