<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yql/essentials/tests/sql/sql2yql/canondata, 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-17T15:57:11Z</updated>
<entry>
<title>YQL-21315: Block variant item implementation</title>
<updated>2026-07-17T15:57:11Z</updated>
<author>
<name>atarasov5</name>
<email>atarasov5@yandex-team.com</email>
</author>
<published>2026-07-17T08:28:08Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=0e52f04caa16030b7e49090548b32fb50be2ef81'/>
<id>urn:sha1:0e52f04caa16030b7e49090548b32fb50be2ef81</id>
<content type='text'>
BlockVariantItem implementation
commit_hash:f35a597dee3dc67ebc5be599ed9d379d7ad57802
</content>
</entry>
<entry>
<title>YQL-20804: Fix Decimal type conversion</title>
<updated>2026-07-15T11:10:17Z</updated>
<author>
<name>atarasov5</name>
<email>atarasov5@yandex-team.com</email>
</author>
<published>2026-07-15T10:28:32Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c8d98f95fc8e8877300045ca3f6b639e02833509'/>
<id>urn:sha1:c8d98f95fc8e8877300045ca3f6b639e02833509</id>
<content type='text'>
#### `YQL-20804`: Fix Decimal type conversion ✎

- Enhanced type annotation system to properly handle Decimal type conversions by introducing a new `EDecimalConversionMode` configuration option that allows controlling how common types are computed for Decimal values
- Modified core type annotation functions to accept and utilize a `TTypeAnnotationContext` parameter, ensuring consistent type resolution across join operations and type conversions
- Updated join-related functions and peephole optimizations to pass type context information, fixing issues with Decimal type compatibility during join key processing
- Added comprehensive unit tests to verify Decimal type conversion behavior and ensure proper casting between different Decimal precisions and scales
- Extended type annotation infrastructure to support both strict and lenient Decimal conversion modes, improving error handling and type inference for edge cases

&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:f4ec01ad79cb2f3219b529118380747828075e6b
</content>
</entry>
<entry>
<title>YQL-21404 implemented syscache, table, func call</title>
<updated>2026-07-14T14:57:28Z</updated>
<author>
<name>vvvv</name>
<email>vvvv@yandex-team.com</email>
</author>
<published>2026-07-14T14:17:32Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4f6a4597ecf74d3d25e8df990b45ee81026c73b0'/>
<id>urn:sha1:4f6a4597ecf74d3d25e8df990b45ee81026c73b0</id>
<content type='text'>
#### `YQL-21404`: Implemented syscache, table, and function call support for collations ✎

- Added support for PostgreSQL collation handling in function calls, enabling explicit collation specification via named arguments
- Implemented syscache and table catalog support for pg_collation system table to provide complete catalog information
- Enhanced type annotation and runtime compilation to properly handle collation OIDs and validate collation names
- Introduced ICU locale collation support with stable OID assignment based on locale position in generated catalog
- Added comprehensive test coverage for collation functionality including standard and ICU locales, collation validation, and error cases
- Extended SQL parsing to support COLLATE clauses and proper collation propagation in function calls

&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:e9a32cc848bef7b68b4f57f71a1f5f69e0de9653
</content>
</entry>
<entry>
<title>YQL-21315: Implement block variant comp node</title>
<updated>2026-07-14T09:17:28Z</updated>
<author>
<name>atarasov5</name>
<email>atarasov5@yandex-team.com</email>
</author>
<published>2026-07-14T08:21:03Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=290e3f02532a30eabcf4a4c6aaa6fa36cb48a887'/>
<id>urn:sha1:290e3f02532a30eabcf4a4c6aaa6fa36cb48a887</id>
<content type='text'>
#### Implement Block Variant Computational Node ✎

- Introduces a new computational node for handling variant types in block operations, supporting both tuple and struct variants
- Adds type annotation and runtime support for the new variant node with proper type checking and validation
- Implements block-level variant operations that can select specific alternatives from variant types based on index or member name
- Includes comprehensive unit tests and integration tests covering both tuple and struct variant scenarios
- Updates runtime version to 81 and integrates the new node into the compilation and execution pipeline
- Provides SQL syntax support for variant operations through the `Variant` function with appropriate type handling

&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:a07c1a365815a271cdd34958369156fd542fd5cc
</content>
</entry>
<entry>
<title>YQL-21242: Support Linear types in If branches</title>
<updated>2026-07-13T11:46:11Z</updated>
<author>
<name>eakozyrev</name>
<email>eakozyrev@yandex-team.com</email>
</author>
<published>2026-07-13T11:16:51Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=8865db458215f8589a2dce50ecf8abb083d2c095'/>
<id>urn:sha1:8865db458215f8589a2dce50ecf8abb083d2c095</id>
<content type='text'>
&lt;section id="quibbler-autodescription"&gt;

#### Поддержка линейных типов в ветках оператора If 📝

- 🔄 Обновлена логика проверки использования линейных значений в ветках оператора `If`, теперь учитывается возможность использования значений в разных ветках и их совместимость по путям выполнения.
- 🛠 Добавлена проверка покрытия всех веток для линейных значений, чтобы избежать ситуаций, когда значение не используется на всех возможных путях выполнения.
- 🧠 Улучшена система отслеживания использования линейных значений, включая обработку вложенных условий и корректную проверку на повторное использование в одной ветке.
- ✅ Внесены изменения в оптимизатор, позволяющие корректно обрабатывать идентичные ветки в операторе `If`, улучшая производительность и корректность работы.
- 🧪 Добавлены новые тесты и обновлены существующие для проверки корректности работы с линейными типами в ветках `If` и `IfStrict`.

&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;
&lt;/section&gt;

Extended TUsageVisitor to track branch execution context.
commit_hash:3ec5339a9d4be05580088060917fc7c2996432b9
</content>
</entry>
<entry>
<title>YQL-21315: Block way implementation</title>
<updated>2026-07-07T13:59:11Z</updated>
<author>
<name>atarasov5</name>
<email>atarasov5@yandex-team.com</email>
</author>
<published>2026-07-07T13:15:20Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=835c5943fbc677ccf1b7e3c1f4df50c3bf5486dd'/>
<id>urn:sha1:835c5943fbc677ccf1b7e3c1f4df50c3bf5486dd</id>
<content type='text'>
#### Block Way Implementation ✎

- Implemented the `BlockWay` function to extract variant type information from block inputs, returning either tuple indices or struct member names
- Added type annotation support for `BlockWay` operations with proper handling of optional variants and different underlying types
- Introduced computation node implementation for `BlockWay` that processes both tuple and struct variants efficiently
- Enhanced runtime version handling to support the new `BlockWay` functionality with version 80
- Added comprehensive unit tests covering various scenarios including tuple variants, struct variants, optional variants, and edge cases
- Integrated `BlockWay` into the SQL parser and program builder with proper type inference and validation
- Added SQL format tests and canonical data for tuple and struct variant scenarios with and without optionality

&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:70a82f5d13a7c1499a9ad88fc5d9b079e352d7ef
</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>
<entry>
<title>YQL-21365: Fix TLangVerProxyNode::Clone</title>
<updated>2026-07-03T12:55:10Z</updated>
<author>
<name>vitya-smirnov</name>
<email>vitya-smirnov@yandex-team.com</email>
</author>
<published>2026-07-03T12:11:54Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b3e7e5808868695f4c7b08c37628048bf1fcdb75'/>
<id>urn:sha1:b3e7e5808868695f4c7b08c37628048bf1fcdb75</id>
<content type='text'>
#### Fix TLangVerProxyNode::Clone and add related test cases ✎

- Corrected the `Clone` method implementation to properly handle deep copying of inner nodes using `SafeClone`, ensuring correct node duplication behavior.
- Introduced new test cases and canonical data to validate the functionality of `GROUP BY ROLLUP` with `NULLIF` and `COUNT(DISTINCT)` expressions.
- Added corresponding test configuration and SQL format validation files to support the new test scenario.

&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:2f81ec1dbc9dd24149f8553a87e915809c800a74
</content>
</entry>
<entry>
<title>YQL-21307: Suppress invalid application on PartialTypeCheck</title>
<updated>2026-06-30T12:41:42Z</updated>
<author>
<name>vitya-smirnov</name>
<email>vitya-smirnov@yandex-team.com</email>
</author>
<published>2026-06-30T11:16:03Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e765c77e6cdef95aff49d6b0d3676cf0012704ac'/>
<id>urn:sha1:e765c77e6cdef95aff49d6b0d3676cf0012704ac</id>
<content type='text'>
Added the `ExpandApplyUniversal` pass for partial type annotation.

A binding can be resolved to a  lambda during a full typecheck,
but during a partial typecheck,  a module resolver is limited and
can return a universal value.

A series of the `ExpandApply` applications can lead to some
arguments being discarded, e.g. `(Apply (lambda '(a b) a) X Y)`
discards `Y` during a full typecheck, but not partial, so
arguments at `(Apply (InstanceOf (UniversalType)) X Y)` are
type checked, and so partial type check had a greater recall.
commit_hash:7573df489129be47aa66d74d0f4b96086166c3ba
</content>
</entry>
<entry>
<title>YQL-16277: Implement ExpandSqlCombine optimizer</title>
<updated>2026-06-29T12:49:32Z</updated>
<author>
<name>imunkin</name>
<email>imunkin@yandex-team.com</email>
</author>
<published>2026-06-29T12:19:38Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=366f098f9ac9e3c55ba3901f3455957913b46340'/>
<id>urn:sha1:366f098f9ac9e3c55ba3901f3455957913b46340</id>
<content type='text'>
#### Implement SqlCombine optimizer and enhance ListJoinCore type checking ✎

- Introduce ExpandSqlCombine optimizer to handle SQL COMBINE operations, enabling efficient execution of combine operations with proper key handling and sorting
- Refactor ListJoinCore type annotation logic to use tuples instead of structs for key types, improving type safety and consistency in multi-key scenarios
- Add auxiliary constants for consistent naming of input prefixes and key members in join operations
- Update MKQL compiler and type annotation components to support the new SqlCombine expansion and improved type checking
- Enhance test coverage with new test cases for various SqlCombine scenarios including single key, multi-key, optional keys, and type mismatches
- Adjust existing tests and canonical data to reflect the changes in type handling and naming conventions

&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:376f67bfed851d0e4f7ac354d22220ba4f4737e2
</content>
</entry>
</feed>
