| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
BlockVariantItem implementation
commit_hash:f35a597dee3dc67ebc5be599ed9d379d7ad57802
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
#### 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
|
| |
|
|
| |
commit_hash:c6dfa214bb0ac2d6c28c49e031f19563bcb7039e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Изменения в рамках этого тикета <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
|
| |
|
|
| |
commit_hash:bc73ed520d5d4ef210b03b983720e6e8a6996db5
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
#### 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#### 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
|
| |
|
|
|
|
| |
1. Добавил проверку start/end на равенство бесконечности -\> возвращается пустой список
2. Изменил логику инкремента индекса (перевел на целочисленный тип), чтобы работало валидно при малых значениях float
commit_hash:f6b473a1d0227269591f9a683d81614696f0b040
|
| |
|
|
|
|
| |
This reverts commit ff476352ebe39ac6796cd501c62bbb1a178bd2fd, reversing
changes made to 64437b5c6ae050091a1b137e2feb5c280273aabc.
commit_hash:cdef894cb3b7d51b092ca46fc5db7f349a343c8d
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
#### Pass validation flag to DQ transport layer ✎
- Introduce and propagate datum validation mode through the DQ transport layer to ensure consistent validation behavior across serialization and deserialization operations
- Update transport serializers and deserializers to accept and utilize the validation mode parameter
- Pass validation settings from task runners and compute actors to maintain end-to-end validation consistency
- Add runtime settings serialization support to enable validation mode propagation in distributed scenarios
- Extend channel service components to handle validation mode in both input and output serializers
- Update various components including PQ read actors, wide combine operations, and spiller adapters to use the new validation parameter
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
commit_hash:c93ab318c05269f0e8402259c94ea52ab03bc4fa
|
| |
|
|
|
| |
https://clang.llvm.org/extra/clang-tidy/checks/bugprone/argument-comment.html
commit_hash:780ff6a63be44998cb2336a05f3dc33e68a676bf
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
#### 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
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
commit_hash:376f67bfed851d0e4f7ac354d22220ba4f4737e2
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
#### Implement BlockGuess functionality for variant type extraction ✎
- Introduces BlockGuess functionality to extract specific alternatives from variant types, supporting both tuple and struct variants
- Adds type annotation and runtime implementation for BlockGuess operations with proper validation and error handling
- Implements peephole optimization support for BlockGuess operations to improve query execution plans
- Includes comprehensive unit tests and SQL format validation for various BlockGuess scenarios
- Updates runtime version to 79 to enable new BlockGuess features and ensures backward compatibility
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
commit_hash:e8f7fc2859cc1986ee0d5fba8b3e25bbf9ba4c41
|
| |
|
|
|
|
|
|
|
|
|
|
| |
#### Fix thread safety issue in block reader usage ✎
- Replaced direct member variables with thread-safe kernel state management to ensure each execution context has its own reader instances
- Moved reader initialization into kernel initialization callback to guarantee proper per-thread setup
- Updated all reader accesses to use the kernel state's reader instances instead of shared members
- Eliminated potential race conditions that could occur when multiple threads accessed the same reader instances concurrently
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
commit_hash:966873558498b7b27970f218598dfab448997512
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
https://clang.llvm.org/extra/clang-tidy/checks/performance/move-const-arg.html
This check useful, as it shows, when a `std::move` is useless, so
to expectations of a programmer are not aligned with reality. The
most useful profit is to see `const T&` arguments, that are
potentially can be replaced with `T`.
Also disabled `CheckTriviallyCopyableMove`,
see https://nda.ya.ru/t/Emvgx5Z67fpZY5 why.
commit_hash:c80c264a9774721aabbac85b350ccdbb8b9a39a2
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
commit_hash:2cae56a990383c528801f71d03c3dffae2160ade
|
| |
|
|
| |
commit_hash:911355a37a93170bdfe96fb3ef5634230541782a
|
| |
|
|
| |
commit_hash:ca028259d6fbf7b46aa0cc392187b8b153716d62
|
| |
|
|
| |
commit_hash:064dd429ee775897bfe6ac38e2cf3ef0a6580392
|
| |
|
|
| |
commit_hash:6514925c5290f805d279e2db85468c53c3db8f5d
|
| |
|
|
| |
commit_hash:4f92a547e4455422b667baf0d6929654cdb66a52
|
| |
|
|
|
| |
Improved spilling in `WideSort`. Added a merge stage to avoid having too many states on disk. Also prevented spilling one row at a time.
commit_hash:45db10e94dd2308cdd7fda06154cf06a95619fd2
|
| |
|
|
| |
commit_hash:3afd7f64d24075150b548238f6f8fae1421cef00
|
| |
|
|
| |
commit_hash:fc6492957790acea51dffccfb36a1d198cb9d9bb
|
| |
|
|
|
| |
<https://nda.ya.ru/t/6Smb2LM87cbJ4m>
commit_hash:999f90b84356132dbb8e876c40d6a38d8ac37fc0
|
| |
|
|
| |
commit_hash:62b0f7b453641a0f14878dfdaae79ceda2c2c506
|
| |
|
|
| |
commit_hash:010ce3d7e109d5c664f4b20f7096d8be1d15935e
|
| |
|
|
| |
commit_hash:ff1b9e92e44a28e12fdc9294efe7a579a943d24f
|
| |
|
|
| |
commit_hash:d08046f19590c93e827909f0bb9e28cfa829ffb7
|
| |
|
|
| |
commit_hash:41791bb9a63f1993010fb68562e9a5607927307d
|
| |
|
|
| |
commit_hash:183e3a952a021c4701c20d6677800f245239d822
|
| |
|
|
|
|
| |
YQL-21204: Fix wrong immutable calls
YQL-21204: Fuzz immutability
commit_hash:66fb769418e9c275db6fbfa92d78fc0d57a4b150
|
| |
|
|
| |
commit_hash:054395f57e37951159c1184eae2e6d4bc81245f8
|
| |
|
|
| |
commit_hash:7cef97dc90e03e9f773a44e4bd51a51388a8d954
|
| |
|
|
| |
commit_hash:836406699a568f3d53cbd91256d586d37bf8f4a9
|
| |
|
|
| |
commit_hash:c180c2db4897962cb70063ffdc2ddcd21e5e3418
|
| |
|
|
| |
commit_hash:9e799ea42a2692eb96ebc792b48e46dd060c182b
|
| |
|
|
| |
commit_hash:7c1445375e838a9327006528cb455c9899e9b32d
|
| |
|
|
| |
commit_hash:4979fc7ea167afe5b7b478f40d3df13ea6ff0b67
|
| |
|
|
| |
commit_hash:183c6a5ff0706ee5c612ff07806a656f19c5bd30
|
| |
|
|
| |
commit_hash:73457e89df05a010148960ee30c67a1481b1b3c2
|
| |
|
|
|
| |
Introduce runtime dispatcher macros
commit_hash:69cd6afc98d510a3f8eb216e52b6f9044245ee98
|
| |
|
|
| |
commit_hash:6068d33bd6ed2bb8bdfa7836ca5229b841dcd207
|
| |
|
|
|
|
|
| |
I do not known why, but these Clang Tidy fixes was lost. Maybe this is
because of conditional preprocessing. Maybe Clang Tidy is ran only on
changed sources.
commit_hash:718e5487699b21b643ed90729ce8347c84cbd6ee
|
| |
|
|
| |
commit_hash:ea1f0987ec40e3e683c35bffb64b7f5ab35e73ed
|
| |
|
|
| |
commit_hash:dd04095806df285c8fb8a8afa5fe5552e9bcc110
|
| |
|
|
| |
commit_hash:ded61446e96c98e6f8366f994fdf704248b4359e
|
| |
|
|
| |
commit_hash:72b10ed4677b5440bf8308bec7a0c1b21ab185c4
|