summaryrefslogtreecommitdiffstats
path: root/yql/essentials
Commit message (Collapse)AuthorAgeFilesLines
* YQL-21253: Consider monotonicity when calculating the offset usageatarasov52 days3-26/+215
| | | | | В общем случае функция `CalculateDenseUnionChildrenUsage` не нуждается в проходе всего массива. Можно пройтись слева и собрать все min, потом пройти справа и собрать все max commit_hash:84da6b77027fb115855e8382330c6c2b3bd4ca4b
* fixed Yield generation in switchgrigoriypisar2 days2-4/+188
| | | | | | | | | | | | | | | | | | | Now the Switch can put into result a Yield without receiving a Yield from the input, which causes the DQ compute actor to hang if: * All the input channels have run out of space * There is an empty buffer in all output channels. In this case, terminating the TaskRunner call with the status of PendingInput causes it to hang. #### Fixed Yield generation logic in switch operator ✎ - Replaced deprecated status tracking with explicit finish flag for better control flow - Updated yield and finish detection logic to properly handle stream termination conditions - Simplified state management by removing redundant status assignments and improving conditional checks - Ensured correct yield generation based on stream completion status rather than outdated flags <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:ff476352ebe39ac6796cd501c62bbb1a178bd2fd
* YQL-21207: Hash runtime settingsatarasov52 days9-8/+282
| | | | | | | | | | | | | | #### Hash runtime settings for stable identification ✎ - Introduces a stable hash function for runtime settings to enable consistent identification of configuration states - Implements `SHA-256` based hashing that includes both host settings and UDF settings with deterministic ordering - Ensures hash stability regardless of setting insertion order by using ordered data structures - Adds comprehensive unit tests to verify hash consistency, content sensitivity, and order independence - Enhances configuration serialization to properly count and filter serializable settings - Makes serialization order deterministic by switching from hash map to map for setting storage <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:49aafc63bf011c335d556cd41dd4971473b62f13
* YQL-20631: Support RECURSIVE WITH CTE on YqlSelectvitya-smirnov3 days33-109/+685
| | | | | | | | | | Implemented a RECURSIVE WITH CTE translation for YqlSelect. It relies on YqlSelf callable. As this callable binds to enclosing YqlSelect, the diagnostic that subquery can't reference an enclosing RECURSIVE WITH CTE was added, it is better, that an existing for pgSQL, where just "table not found" is emitted. The core idea under RECURSIVE handling is that a "not ready" CTE entry is added to a namespace (with a `nullptr` node), so it can be recognized. Checked some interesting test cases and wrote TODOs. commit_hash:65b8646e0615ae070b04822ce7af24245c203bbe
* SQL parser + type annotation for Materialize statementudovichenko-r3 days22-164/+743
| | | | | | | | | | | | | | #### SQL Parser and Type Annotation for Materialize Statement ✎ - Added support for the `MATERIALIZE` SQL statement including parser rules and syntax highlighting updates - Implemented type annotation and validation for the `MATERIALIZE` statement with proper error handling - Enhanced SQL query processing to handle `MATERIALIZE` statements in various contexts including subqueries and limited views - Added runtime support for `MATERIALIZE` operations with sort preservation and proper data sink handling - Integrated `MATERIALIZE` into the SQL grammar and updated completion suggestions - Added comprehensive unit tests covering various `MATERIALIZE` scenarios and edge cases <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:32b04f93ceadf624b4d39fd6512798f9354bfd80
* allow removal of custom system prefixes KIKIMR-25775gvit3 days3-4/+76
| | | | | | | | | | | | | #### Allow Removal of Custom System Prefixes ✎ - Introduces support for removing custom system column prefixes in addition to default ones during SQL translation - Adds a new configuration option to specify extra system column prefixes that should be stripped from column names - Modifies the column cleanup logic to handle both default system prefixes and user-defined custom prefixes - Includes comprehensive unit tests to verify the behavior with configured prefixes and default cleanup - Ensures backward compatibility by maintaining default system prefix removal when no custom prefixes are configured <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:b88e8ae9e4905fc2e32299ae104042e8ffa64b57
* Intermediate changesrobot-piglet3 days2-0/+22
| | | | commit_hash:4507aae4a5289d1cf8e95efbac0170ac1b63c956
* YQL-20631: Support simple CTEs on YqlSelectvitya-smirnov3 days18-47/+653
| | | | | | | | | | | | | | | | | | | | | | | The first iteration on WITH CTE support. Only simple CTEs are supported. Properties: 1. Redefinition is forbidden. 2. Shadowing is supported. 3. Nested WITH CTEs are supported. Following features are not yet implemented: 1. Column names specification. There is an assertion failure at core because of an absent column order when translating it like for the `PgSelect`. 2. `RECURSIVE` is postponed. There a more sophisticated translation with `YqlSelf` callable is required. Also there was a potential defect because of an empty `Id` result not expected. commit_hash:759676d8a9d369f7eedd9b87f79455b2f8a9fcff
* Intermediate changesrobot-piglet4 days1-1/+1
| | | | commit_hash:e89c77d2e9f946a6bf7c5ef6a6e4e1e55c95dec2
* YQL-21321 don't check for persistable in agg traits typecheckvvvv4 days5-1/+41
| | | | | | | | | | | #### `YQL-21321`: Adjust type checking for aggregate traits ✎ - Replaced persistable type check with computable type check during aggregate trait validation to allow more flexible type handling - Added new test cases to verify the behavior of unused aggregate types and ensure proper error reporting - Updated canonical data and test artifacts to reflect the changes in type checking logic and error messages <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:e14b06e4a135d9aef8ae78a75c3fb23d983365a6
* Intermediate changesrobot-piglet4 days3-7/+23
| | | | commit_hash:3682aa4bbce05c002af982ecdc21ea73784a939e
* Use Cons! in translator instead of Nthudovichenko-r5 days13-1060/+1153
| | | | commit_hash:ec28efb62da755bd372bba274c8eaa0f3f5233f3
* YQL-16277: Implement MKQL provider for ListJoinCoreimunkin5 days4-2/+52
| | | | | | | | | | | #### Implement MKQL provider for ListJoinCore callable ✎ - Added support for compiling the `ListJoinCore` callable within the MKQL (MapReduce Query Language) provider, enabling its use in query execution plans - Implemented the necessary type and lambda building logic to correctly handle input structures, key types, and join operations for the new callable - Updated test configurations to remove xfail status and include new test artifacts for the ListJoinCore functionality, indicating successful integration and testing <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:dbddedaedf354d5e9cf66c69ab3c5f9a3b58cc32
* YQL-16277: Implement type annotation for ListJoinCoreimunkin5 days5-0/+199
| | | | | | | | | | | | | #### Implement type annotation for ListJoinCore ✎ - Added type annotation support for the ListJoinCore operator to enable proper type inference and validation during query compilation - Implemented comprehensive type checking logic that validates input stream structure, key types, and lambda function signatures - Introduced helper functions to validate argument types and ensure compatibility between input streams and premap lambdas - Added support for universal type handling to maintain compatibility with existing code patterns - Included test configuration to verify the implementation and catch potential regressions <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:ea0fd4fbb79c2ccaf60691b6fe648d2657a1fde3
* YQL-21321 deep error check for EnsurePersistablevvvv5 days6-2/+66
| | | | | | | | | | | | #### Deep error checking for EnsurePersistable ✎ - Replaced shallow error checking with comprehensive error detection in `EnsurePersistable` functions to ensure all type annotation errors are properly identified - Introduced new `HasAnyError` function that performs thorough error traversal to catch nested or indirect type errors - Updated test cases to verify error handling behavior and ensure proper error reporting for incompatible types in SQL operations - Enhanced type annotation validation to provide more reliable persistence checks for expression nodes <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> commit_hash:019e5924e7d6bdfea7fa46be3da3615b17727b76
* YQL-21134: Set UnstableFormat AST flag unconditionallyvitya-smirnov6 days10-22/+26
| | | | | | | - Renamed `TAstNodeFlags::IgnoredContent` to `TAstNodeFlags::UnstableFormat` to better reflect its purpose. - Removed the `MarkQueryTextAtomWithIgnoredContent` translation setting. The `UnstableFormat` flag is now unconditionally applied to query text atoms during parsing. - Updated `CheckedFormat` and `ValidateAST` to accept an already parsed AST. Since the flag is now set unconditionally, we can reuse the initial AST for format validation. This avoids re-parsing the original query, reducing redundant AST builds and overall RAM consumption. commit_hash:bba3e6733d3a9c120cf9724a161e603de0cfc038
* YQL-20631: Introduce WITH CTE syntaxvitya-smirnov6 days12-100/+464
| | | | commit_hash:77f0128cac891f08ce6c8f9a721f66f69032c44e
* Intermediate changesrobot-piglet6 days2-4/+4
| | | | commit_hash:cf5b5b0b6d99ae9226a7df5e020dd24d61adda01
* Intermediate changesrobot-piglet6 days64-12095/+4835
| | | | commit_hash:2cae56a990383c528801f71d03c3dffae2160ade
* Do not lose exceptions from CloseLastSessionaneporada6 days1-8/+14
| | | | commit_hash:1d47a3ab4f80db28fd14fb009140ac0951cbbe7d
* Fix fusing two CalcOverWindow with ExtractMembers in-betweenaneporada10 days1-5/+21
| | | | commit_hash:ec04ae964cc2923fe432b2bf75d339459452065a
* [minikql] optimize BlockMapJoin: use spans instead of row-vectorspavook10 days1-24/+35
| | | | commit_hash:911355a37a93170bdfe96fb3ef5634230541782a
* YQL-20239: Exract pure_ast and move to sql/v1/idevitya-smirnov11 days215-512/+646
| | | | | | | | | It is a preparation for a hover LSP method implementation. Query parser and a narrowing visitor are required for the feature, so I extract the logic to a module `pure_ast` from a `complete`. Also modules `complete` and `pure_ast` are moved to `sql/v1/ide/completion` and `sql/v1/ide/pure_ast`. commit_hash:58bed5f2e39bf4779e28468fe7de1e0c4fb2c4c3
* Fix PayloadRenameOverWindow in overwrite caseaneporada11 days5-7/+93
| | | | commit_hash:867eb4209058a877aa60f86931daddf1e25ac600
* YQL-21297: Handle Interval64 in aggregate/windowvitya-smirnov11 days19-19/+476
| | | | commit_hash:10c8d54083c7064e63989ad9c341711fe84409b4
* YQL-21299: Allow DqEngine and BlockEngine in YqlSelectvitya-smirnov12 days1-0/+4
| | | | | | I forgot to add them, because they are not enumerated in PRAGMAs table, but handled separately. commit_hash:9ffa2ddbec1d718f9e31c3b2393fea66cefab3dc
* Intermediate changesrobot-piglet12 days5-17/+67
| | | | commit_hash:ba99cebef5933b5e266855e6db76537611c155fa
* YQL-21134: Introduce not strict AST equalityvitya-smirnov12 days15-121/+156
| | | | commit_hash:6d140dd812ad22bada6b8680e160b74b599f7032
* YQL-20995: Check PRAGMAs on YqlSelectvitya-smirnov13 days5-570/+1003
| | | | commit_hash:518ba7be7e53735458da16c55cd105d8e200e50e
* Intermediate changesrobot-piglet13 days8-19/+15
| | | | commit_hash:3bc6b3fe94e77b29cd3130cbfba1e1a04df560ee
* Ban bugprone-forward-declaration-namespace which gives false-positives a lotthegeorg13 days1-1/+0
| | | | | | | | | | | | | | | | | | | ``` contrib/restricted/abseil-cpp/absl/base/internal/low_level_scheduling.h:37:7: error: no definition found for 'Mutex', but a definition with the same name 'Mutex' found in another namespace 'engine' [bugprone-forward-declaration-namespace,-warnings-as-errors] 37 | class Mutex; | ^ taxi/uservices/userver/core/include/userver/engine/mutex.hpp:28:7: note: a definition of 'Mutex' is found here 28 | class Mutex final { ``` [Дока](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/forward-declaration-namespace.html) также не показывает, почему это проблема. [Греп](https://nda.ya.ru/t/zUk2T9GL7ekfWJ показывает, что почти все проверку отключают. commit_hash:dfb4dda963bde4902387c980153bae9d2659d401
* YQL-21296: Fix isPresortUniversal initialization in SqlCombineInputWrapperimunkin13 days1-1/+3
| | | | commit_hash:4938c84550afb602589995a58df474c6048045a8
* Intermediate changesrobot-piglet13 days2-20/+4
| | | | commit_hash:97c35f33c58ec3f982f60304ed39cd86c532d2b5
* Retire StrictWarningAsError flagvitya-smirnov14 days5-8/+5
| | | | commit_hash:426fc64ddb2e4aa97f2a867677c63208562d5e76
* YQL-20234: Fix agg phases over Null and disallow DISTINCTvitya-smirnov14 days38-207/+365
| | | | | | | - Fixed histogram, (bottom/top)(by)?, topfreq, random_(value/sample) over Null - Disabled DISTINCT with agg phases - Refactored code by phase predicates extraction commit_hash:c82f790224e84e542572d5cd270766e3244b4178
* YQL-20995: Introduce Sql2Yql UDFvitya-smirnov2026-06-079-6/+358
| | | | commit_hash:517966378b05a440a618b6c8a6b4072d46034bd9
* YQL-21293: Fix UTF8 at GlobalAnalysis and WS at MatchCursorPrefixvitya-smirnov2026-06-076-5/+164
| | | | commit_hash:2ae25879e9456a1d5852378b7fe0b16d7e6791a5
* Intermediate changesrobot-piglet2026-06-051-4/+23
| | | | commit_hash:cc9d19171eb062c10e4bd4f29c236ae2578b886a
* YQL-21292 fixed switching of cycle detector & better diagsvvvv2026-06-0514-2005/+1920
| | | | commit_hash:1a546dc230518eb6846155c77db762e4d83281d5
* YQL-21295 avoid PolyArgs match on universal argsvvvv2026-06-052-1/+11
| | | | commit_hash:c197d1a5df0ac78b2564c91c114665528723e374
* YQL-21291: Add Math transformation to Lineagemaxkovalev2026-06-051-1/+21
| | | | | Lineage для Math теста: https://nda.ya.ru/t/1srEqNWh7ePvpE commit_hash:4f0c162b8eae10afb6a21fc80e9c706600b4618b
* YQL-16277: Implement type annotation for SqlCombineimunkin2026-06-0418-9/+406
| | | | commit_hash:7d19863b9dbf9c332d5f8793e47891793fc9091e
* Intermediate changesrobot-piglet2026-06-041-0/+1
| | | | commit_hash:26947b3519185abb0644ddb9c6d28b5c15614d77
* Watermarks: YQL: Fix table hintsvokayndzop2026-06-0413-102/+252
| | | | commit_hash:feaa364ef3d3f71bfa70a7d64e2cc6e3854d79a5
* YQL-20875: Enable apache arrow datum light checkatarasov52026-06-0446-185/+262
| | | | commit_hash:ca028259d6fbf7b46aa0cc392187b8b153716d62
* optimize switch over extract membersgrigoriypisar2026-06-043-26/+79
| | | | | Added switch optimization over extract members commit_hash:351e8a76ae8ab7fa4e1539588f0253cf8c31eec2
* YQL-21018: Implement BlockVariant validatoratarasov52026-06-041-1/+29
| | | | commit_hash:5334d8fbea8ccff97821995e01cbb7229aa822f9
* YQL-16277: Drop excess source usage in TCombineInputSourceimunkin2026-06-031-16/+15
| | | | commit_hash:694e0787ced0acde6726ff70192b2a73adc20d81
* YQL-16277: Allow using expressions in equi predicates for COMBINE commandimunkin2026-06-028-15/+120
| | | | commit_hash:3d559c0475767547557bc9401ecd54bb6c531ee0
* hybrid rank callable placeholder KIKIMR-25488gvit2026-06-029-0/+145
| | | | commit_hash:eabe9b632535a58658e2ffa4220cd5782df5b2da