summaryrefslogtreecommitdiffstats
path: root/yql
Commit message (Collapse)AuthorAgeFilesLines
* YQL-21350: Limit SQLv1 parse tree depthvitya-smirnov2 days33-117/+502
| | | | | Copy of https://nda.ya.ru/t/ceJZ5osd7jHYXe. commit_hash:07f1b0533bb4ba214af84233eee20c113010fa09
* YQL-20631: Warn on WITH CTE name mismatchvitya-smirnov3 days31-447/+1048
| | | | | | | | | | | | | | | | | A warning on WITH CTE column names specification and corresponding select column order mismatch was introduced. It is not complete, because there can be autogenerated columns (e.g. `column0`, `column1`) and now there is no way to get if they are autogenerated or user-specified, so there is a regex heuristic now. Good implementation requires passing a new attribute from a translator and a lot of recanonization. I can do it, but propose to make it in a separate PR. Also there was a problem of repetitive warning emission, because of "Type Annotation (repeat)". A classical approach with `Warn` suffix is not very useful in SqlSelect, because its type annotation is so huge and has a lot of `Repeat`s. So I found a solution in introduction of a new attribute `warnings`, where warning ids are stored in an atom list, so lookup in this list does the deduplication. commit_hash:e67198223e224ef80ff2bf48d6d9bb7bbe3f264a
* Intermediate changesrobot-piglet3 days5-3/+4804
| | | | commit_hash:3fb2a704bbe1b994e96732b714bfc635e78b78aa
* Remove deprecated functionsvitya-smirnov3 days2-67/+7
| | | | | | | | | | | | | #### Remove deprecated type conversion functions ✎ - Removed deprecated overloaded functions for type conversion and inference that accepted `bool useTypeDiff` parameter - Updated all related function signatures to use `TTypeAnnotationContext` instead of separate `bool useTypeDiff` flag - Eliminated redundant function variants that were kept for backward compatibility - Simplified the API by removing obsolete parameters and maintaining only the modern approach with type context - Improved code clarity and reduced maintenance overhead by removing deprecated code paths <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:a724ae6debe4207ec05a2907b85f9c2bf4f07394
* Intermediate changesrobot-piglet3 days1-1/+6
| | | | commit_hash:469502ac214838a72fed41d91ea10b4f420379a4
* YQL-21081: Limit strip IO via stdout pipeeakozyrev6 days4-2/+107
| | | | | | | | | | | | | | | | | | | | | **Description:** Use stdout pipe with optional pv bandwidth limit for strip operation instead of direct disk write. ### Важно: `> strip /usr/bin/ls -o /dev/stdout | pv > dst ` `strip: /dev/stdout[.interp]: Illegal seek` \| не умеет работать с pipe! "Оператор конвейра (`|`) создает **канал (pipe)**, который является последовательным потоком данных и **не поддерживает** операцию произвольного поиска (`lseek`)" В ПР делаю запись в `dev/shm/` - это запись в оперативную память, должно быть гораздо быстрее чем на диск. \+ Я вставил исключение, если утилита не найдена. commit_hash:3bad6eebafe7a1af56a7909d1954c76d2d9c98b5
* YQL-21372, fixed switch data multiplication, fixed hanging of DQ stages with ↵grigoriypisar6 days2-119/+889
| | | | | | | | | | | | | | | | | | | | | multi output, refactor switch state handling Adjusted LLVM code for switch Refactored switch state, and fixed: 1. Stop processing once the active handler is finished. Previously, `Switch` could continue reading from input and forwarding `Yield` even after all handlers had already completed, for example with `Take <stream> <limit>`. 2. Do not finish prematurely when input is finished. If input returned `Finish`, the handler could still produce final `Yield`/data before completing. `Switch` now waits for the handler to fully drain instead of dropping the final output. 3. Preserve buffered input when handler yields early. If a handler returned `Yield` before consuming the whole input buffer, the remaining buffered data could be skipped after switching. This is now handled correctly. 4. Handle repeated `Yield` from input correctly. Previously, after sending `Yield`, the read index could be reset immediately in the handler. If the handler did not produce its own `Yield`, the same input could be reread, producing incorrect results. This case is now covered and fixed. Also fixed previously reverted hanging when switch produce extra yields. Refactoring request: <https://nda.ya.ru/t/8F3L9v3_7isKfN> commit_hash:ef7fd73dbdee60d33c384b6d6b505ad7bee20458
* YQL-21315: Block variant item implementationatarasov56 days34-8/+1047
| | | | | BlockVariantItem implementation commit_hash:f35a597dee3dc67ebc5be599ed9d379d7ad57802
* pass streaming constraints inside switchgrigoriypisar7 days3-4/+115
| | | | | | | Added streaming constraint passing for switch: * If input has streaming constraint -- all child lambdas also get streaming constraint on input (because joined variant stream may not finish) commit_hash:0da119f104179a5c93d9a6752876d3d1e3a63637
* Add GENERATED ALWAYS AS syntaxditimizhev7 days7-2/+558
| | | | | | | | | | | | | | #### Add GENERATED ALWAYS AS syntax support ✎ - Introduces support for GENERATED ALWAYS AS column syntax in CREATE TABLE and ALTER TABLE statements, including both STORED and VIRTUAL variants - Adds parsing and semantic validation for generated columns, ensuring they are only supported for YDB provider and table types - Extends SQL grammar with new keywords and rules to handle generated column definitions and expressions - Implements proper highlighting and formatting for GENERATED ALWAYS AS syntax across different language parsers - Includes comprehensive test coverage for various generated column scenarios, including expressions, nested paths, and error conditions - Adds validation to prevent usage in external tables, tablestores, and non-YDB providers <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:cb2260d56b17f0d8e9044dcebc59a25147e85bd6
* Intermediate changesrobot-piglet7 days4-0/+54
| | | | commit_hash:31bd6e7c9d1ddb42cb78231762944d67988a4ccc
* YQL-21401: Introduce AutoUseYqlLibsvitya-smirnov8 days4-1/+21
| | | | | | | | | | | | #### Introduce AutoUseYqlLibs flag to automatically treat yql_libs files as libraries ✎ - Added a new flag `AutoUseYqlLibs` that automatically marks files with the `yql_libs/` prefix as libraries without requiring explicit configuration - The feature is controlled via a new command-line option and can be enabled in various execution contexts - Removed manual library marking logic from task processing, centralizing the behavior in the facade layer - Updated internal logic to apply the library usage flag based on the new auto-detection mechanism <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:4168a7b05ff2755093b9de0e43a3995ef2fe0290
* Intermediate changesrobot-piglet9 days1-5/+0
| | | | commit_hash:daeaebaca102b379e3e5200e5a79e57358698fd4
* YQL-21408: Replace MakeLangVersion with features.jsonvitya-smirnov9 days30-158/+280
| | | | | | | | | | | | | #### Replace MakeLangVersion with features.json-based feature system ✎ - Introduces a new feature system based on `features.json` to manage language version dependencies instead of hardcoded `MakeLangVersion` calls - Replaces direct language version checks with references to named features defined in JSON configuration - Adds validation and initialization logic for features to ensure version consistency - Updates all existing language version checks to use the new feature-based approach - Centralizes feature version definitions in a single JSON file for better maintainability and clarity <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:fe9823c0442060337a30186fd957ae294f1aa1c2
* YQL-20804: Fix Decimal type conversionatarasov59 days23-92/+367
| | | | | | | | | | | | | #### `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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:f4ec01ad79cb2f3219b529118380747828075e6b
* Intermediate changesrobot-piglet9 days1-0/+1
| | | | commit_hash:cdc30f3e046972271b24aea32be1ef8f6bcd0c03
* YQL-16277: Expand SqlCombine via LPartitionsByKeysimunkin9 days2-12/+8
| | | | | | | | | | | | #### Expand SqlCombine via LPartitionsByKeys ✎ - Replaced `PartitionsByKeys` with `LPartitionsByKeys` to enhance the SqlCombine expansion logic - Modified the lambda expression structure to directly use `partitionStream` parameter instead of intermediate `partitionList`, simplifying the stream processing pipeline - Updated the chopper handler to work directly with the stream input, improving efficiency and consistency in data processing - Adjusted canondata checksum due to structural changes in the generated query plan <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:2b5dc46308ee7316727feefecffabfed91ebfef6
* YQL-21397: Introduce LPartitionsByKeys callableimunkin10 days8-5/+124
| | | | | | | | | | | | | #### Introduce LPartitionsByKeys callable ✎ - Added new `LPartitionsByKeys` callable that extends the functionality of `PartitionsByKeys` to work with lists instead of sequences, enabling partitioning of list inputs - Implemented type annotation support for `LPartitionsByKeys` with a template wrapper that distinguishes it from the standard `PartitionsByKeys` - Introduced peephole optimization rule to lower `LPartitionsByKeys` into a physical plan using `Block` and `Collect` constructs - Added comprehensive test cases to validate the new callable behavior with and without sorting - The new callable maintains compatibility with existing `PartitionsByKeys` while providing enhanced functionality for list-based data processing <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:eb05f5419d53f972c091e6f2fd3c4c76805cf364
* YQL-21404 implemented syscache, table, func callvvvv10 days31-57/+1780
| | | | | | | | | | | | | | #### `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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:e9a32cc848bef7b68b4f57f71a1f5f69e0de9653
* Watermarks: YQL: allow watermark optionsvokayndzop10 days6-14/+93
| | | | | | | | | | | | | #### Allow watermark options in YQL ✎ - Extend watermark functionality to support additional configuration options such as watermark granularity and idle timeout - Modify internal representation to include watermark settings as a separate parameter in watermark generator nodes - Update SQL parser to recognize and process watermark-related hints with proper validation - Add validation logic to ensure watermark options conform to expected format and types - Introduce unit tests to verify the new watermark option parsing and handling <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:76e9ae7e1709a2bcd8cd2ccaaf132ceedac0517f
* YQL-21315: Implement block variant comp nodeatarasov510 days21-24/+466
| | | | | | | | | | | | | | #### 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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:a07c1a365815a271cdd34958369156fd542fd5cc
* YQL-20445: Lineage support for multi-input reducemaxkovalev10 days1-33/+86
| | | | | | | | | | | | | #### 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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:73935e78374633a17d6558ce5ba0102f911a666e
* Intermediate changesrobot-piglet10 days20-297/+342
| | | | commit_hash:c6dfa214bb0ac2d6c28c49e031f19563bcb7039e
* Intermediate changesrobot-piglet11 days1-4/+1
| | | | commit_hash:5bb8f5f247fbf17658b26c9229583a803e38a111
* Intermediate changesrobot-piglet11 days8-0/+138
| | | | commit_hash:de00ca26ee277d0249ea52df8c7c3724761fcf85
* YQL-21242: Support Linear types in If brancheseakozyrev11 days19-6/+322
| | | | | | | | | | | | | | | | | | <section id="quibbler-autodescription"> #### Поддержка линейных типов в ветках оператора If 📝 - 🔄 Обновлена логика проверки использования линейных значений в ветках оператора `If`, теперь учитывается возможность использования значений в разных ветках и их совместимость по путям выполнения. - 🛠 Добавлена проверка покрытия всех веток для линейных значений, чтобы избежать ситуаций, когда значение не используется на всех возможных путях выполнения. - 🧠 Улучшена система отслеживания использования линейных значений, включая обработку вложенных условий и корректную проверку на повторное использование в одной ветке. - ✅ Внесены изменения в оптимизатор, позволяющие корректно обрабатывать идентичные ветки в операторе `If`, улучшая производительность и корректность работы. - 🧪 Добавлены новые тесты и обновлены существующие для проверки корректности работы с линейными типами в ветках `If` и `IfStrict`. <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> </section> Extended TUsageVisitor to track branch execution context. commit_hash:3ec5339a9d4be05580088060917fc7c2996432b9
* Support Uuid and DyNumber in minikql blocks and Arrowxyligansereja13 days23-59/+878
| | | | | | | | | | | | | | | | Изменения в рамках этого тикета <https://github.com/ydb-platform/ydb/issues/44190> #### Support Uuid and DyNumber in minikql blocks and Arrow ✎ - Added support for Uuid and DyNumber data types within MiniKQL blocks and Arrow computations, enabling their use in block-based operations and serialization - Implemented proper conversion, serialization, and deserialization logic for both data types in the Arrow format - Extended block item handling to support Uuid and DyNumber, including comparator and hasher implementations - Added comprehensive unit tests covering roundtrip operations, serialization, comparison, and conversion for both data types - Integrated Uuid and DyNumber support into built-in functions like Min/Max and their aggregate variants - Updated type system and block builder components to recognize and handle the new data types correctly - Added necessary includes and utility functions to work with Uuid and DyNumber in MiniKQL contexts <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:d1ab82c060cfa90b7cd13a1cb3efbcb9615e6291
* Change `MATERIALIZE` grammar to exclude `WITH` statement ambiguityudovichenko-r13 days5-12/+45
| | | | | | | | | | | | | #### 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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:0dec4e34cf45e66962a8e8884c6cee893ad3dfb2
* Fix YQL native YT type flags: Complete Editionziganshinmr14 days2-3/+3
| | | | | | | - 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
* YQL-21101: Make ToFlow dependent args requiredimunkin14 days41-308/+316
| | | | commit_hash:bc73ed520d5d4ef210b03b983720e6e8a6996db5
* YQL-20095: Enable misc-unused-using-declsvitya-smirnov14 days8-11/+1
| | | | | | | | | | | #### Enable misc-unused-using-decls check ✎ - Enabled the `misc-unused-using-decls` clang-tidy check to enforce removal of unused using-declarations - Removed several unused using-declarations across multiple files to comply with the new check - Updated clang-tidy configuration to activate the check instead of suppressing it <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:5dd7bcf766b71f2041902fbf314e13f2b81d9a4d
* YQL-21370: Support TCoreAttr::Args at SqlCorevitya-smirnov14 days19-64/+198
| | | | | | | | | | | | | #### Support TCoreAttr::Args at SqlCore ✎ - Introduces support for extended SQL flags with arguments in the SqlCore configuration, allowing flags to carry additional parameters for more granular control - Refactors internal flag handling to use a map-based structure instead of a simple set, enabling storage and processing of flag arguments - Updates module resolver and translation settings parsing to work with the new extended flag format, ensuring proper flag propagation and application - Adds new infrastructure for parsing and managing SQL translation flags with arguments, including dedicated parsing logic for specific flag types - Maintains backward compatibility while enabling new functionality for SQL flag configuration through gateways and command-line options <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:8b26974b3bf4ff2bdaf76715cbb210a8a15e1dad
* Support PruneUnusedColumns in Materializeudovichenko-r14 days1-2/+6
| | | | | | | | | | | | | | #### 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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:83c18981b8767ac2b789c1b1ae81aaa1ee164a92
* fix asan fault by use-after-poison in mkql arrow allocgrigoriypisar14 days2-0/+15
| | | | | | | | | | | | #### Fix use-after-poison issue in MKQL arrow allocator ✎ - Addressed a use-after-poison memory error that occurred when using the default arrow allocator for memory management in MKQL - Added a sanitizer call to make memory region accessible before freeing it, preventing undefined behavior in memory sanitization tools - Introduced a new unit test to verify proper allocation and deallocation when the default arrow allocator is active - Ensured memory safety by properly handling memory access patterns during deallocation in sanitizer environments <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:080ee439f355ca7178f78b02b52302928e60e745
* Fix use-after-dtor in TDirectArrayHolderInplacemakxenov2026-07-091-4/+6
| | | | | | | | #### Fix use-after-dtor in TDirectArrayHolderInplace ✎ - Replaced the traditional `operator delete` with a destroying delete operator to ensure proper destruction order - The new implementation explicitly calls the destructor before freeing memory, preventing use-after-destructor issues commit_hash:9669691da2c478864eab809124405fc6cc31e57d
* YQL-21315: Implement variant expensive validationatarasov52026-07-096-83/+171
| | | | | | | | | | | | | #### Implement expensive datum validation for variant types ✎ - Introduce comprehensive validation for variant data types that checks offset invariants to ensure data integrity - Add support for passing validation mode through fuzzer infrastructure to enable both cheap and expensive validation paths - Extend test helpers to support different validation modes and integrate validation into various test cases - Modify datum validation logic to differentiate between cheap and expensive validation modes, with expensive mode performing additional checks on dense union structures - Update fuzzer components to validate data at multiple points during transformation to catch potential issues early <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:eccd98ccb2ffdda6ebb1d19c7256d41abe424757
* YQL-21375: Add AssumeUnique and AssumeDistinct callables to Lineagemaxkovalev2026-07-091-2/+3
| | | | | | | | | | | #### 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. <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:42b9290cd290b6c5113fe1875fc7c215f4e0070d
* Preparing for LLVM18. The first step.Anton Romanov2026-07-097-92/+98
| | | | | | | | | | Type: refactoring Component: query-tracker --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1762 commit_hash:dcf0b6e086145d4d593c0691c38846ac4d87f36f
* Use credentials for downloads across UDF index & UDF meta task - second attemptziganshinmr2026-07-085-12/+61
| | | | | | - Cherry-pick of original "Use credentials for downloads across UDF index & UDF meta task" - Fix wrapping up UDF resolver with QPlayer adapter commit_hash:df724df8c5b821f4c30ebf4359730107a6dbc253
* YQL-21363: Support EvaluateAtom source on YqlSelectvitya-smirnov2026-07-083-25/+65
| | | | | | | | | | | | | | #### 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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:89e4e90dd2d018de373373af560f48a1015e01e8
* Intermediate changesrobot-piglet2026-07-0810-29/+730
| | | | commit_hash:b287a7802acecdc3d13442505be5815167cf4f71
* YQL-21374: Use runtime setting to make DateTime::Format signature backward ↵imunkin2026-07-087-2/+198
| | | | | | | | | | | | | compatible #### Backward compatibility for DateTime::Format signature ✎ - Introduces a runtime setting to control the availability of the `WriteOffsetWithColon` parameter in the `DateTime::Format` function, ensuring backward compatibility - The new setting `MakeWriteOffsetWithColonAvailableSince` allows controlling when the colon separator in time offsets becomes available, defaulting to version 2025.05 if not specified - Updates the ABI version to reflect the changes in the UDF interface and adds corresponding tests to verify the behavior under different configurations <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:68a9855dc17000f9d47ab24e6727ef082f69504b
* Intermediate changesrobot-piglet2026-07-083-5/+9
| | | | commit_hash:991ef644d607ef39801bae86415ae0190465084d
* YQL-21390 fixvvvv2026-07-072-1/+16
| | | | | | | | | | | | #### Fix use-after-free in escaped argument names parsing ✎ - Changed type of argument name variable from `TStringBuf` to `TString` to ensure proper ownership of the string data - Added regression tests to verify correct parsing of escaped argument names with resource types - Prevents potential use-after-free issue when parsing nested escaped identifiers where the same scratch buffer is reused - Maintains backward compatibility while fixing memory safety issue in type string parsing <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:f3e444a9d8809737ab51117fc96298967b09e623
* YQL-21387: Introduce TStrongAliasatarasov52026-07-076-5/+140
| | | | | | | | | | | | | #### Introduce TStrongAlias type to prevent type confusion ✎ - Introduces `TStrongAlias` template to create distinct types for different conceptual uses of the same underlying data, preventing accidental mixing of semantically different values - Replaces direct `TString` usage with `TStrongAlias<class TRuntimeSettingsStableHashTag, TString>` for runtime settings hash to enforce type safety - Updates build configuration to include new `strong_alias` source files - Fixes a build issue in `mkql_computation_pattern_cache_ut.cpp` by properly accessing the `resize` method on the hash object - Provides comprehensive implementation of `TStrongAlias` including comparison, hashing, and stream output operators for type-safe usage <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:0c856e748ee2198d8545f1a96d24837132cf7d64
* YQL-21315: Block way implementationatarasov52026-07-0732-45/+1193
| | | | | | | | | | | | | | | #### 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 <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:70a82f5d13a7c1499a9ad88fc5d9b079e352d7ef
* Fix reliance on depenedencies leak in sandboxing builds -- yqlspreis2026-07-072-0/+6
| | | | | | | ref: https://nda.ya.ru/t/AbfNDR767hmc8i The 2nd (updated) generation induces dependencies into generated files from inputs, but it was not anyhow reflected in ya.make and sandboxing used to work only because inputs leaked through outputs into compilation. This issue was discovered in attempt to fix dependencies leak. commit_hash:9af9a17fccb7e94e064dbd0af14fe69eab792f78
* YQL-21215: Finite values checks ListFromRangeeakozyrev2026-07-074-73/+144
| | | | | | 1. Добавил проверку start/end на равенство бесконечности -\> возвращается пустой список 2. Изменил логику инкремента индекса (перевел на целочисленный тип), чтобы работало валидно при малых значениях float commit_hash:f6b473a1d0227269591f9a683d81614696f0b040
* KIKIMR-25621: Introduce multi-column statisticsazevaykin2026-07-0712-18/+365
| | | | | | | | | | | | | | #### Introduce multi-column statistics support ✎ - Adds support for defining multi-column statistics in table schemas, allowing users to specify statistics for combinations of columns rather than individual columns - Introduces new SQL syntax for CREATE TABLE and ALTER TABLE statements to declare statistics with optional type specifications - Implements validation for statistics definitions, ensuring column references are valid and names are unique - Extends the query processing pipeline to handle statistics declarations during table creation and modification operations - Updates syntax highlighting and parsing rules to recognize the new statistics keyword and related constructs - Adds comprehensive unit tests covering various statistics scenarios including multi-column definitions, type specifications, and validation rules <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:5ca3f8721d3e3660f2bb890c1408e420cf7c3e81
* Intermediate changesrobot-piglet2026-07-071-0/+5
| | | | commit_hash:e5fc64f46292987cd9b2dfa5727c3ae0917d4b78