| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Implemented a column names specification for a WITH CTE. It requires a
column order derivation. It was not working on `YqlSelect` until PR
https://nda.ya.ru/t/qOC3TNqn7gAcy6 was merged. Also there was a bug
with `UNION` column order inference, which is essential for RECURSIVE
queries. There was compatibility problems with `PgSelect` `UNION`
positional column order semantics, so it was tweaked in `YqlSelect`
mode.
commit_hash:c96192270ca6d51eaa0cb39cf59b65c3951ce3fe
|
| |
|
|
| |
commit_hash:ec04ae964cc2923fe432b2bf75d339459452065a
|
| |
|
|
| |
commit_hash:867eb4209058a877aa60f86931daddf1e25ac600
|
| |
|
|
|
| |
Added switch optimization over extract members
commit_hash:351e8a76ae8ab7fa4e1539588f0253cf8c31eec2
|
| |
|
|
| |
commit_hash:048f5c5f1cf2f507a91c2f4cdb24aec0cc71a004
|
| |
|
|
| |
commit_hash:958a606c2956a1155a487070452acc770455bf66
|
| |
|
|
| |
commit_hash:65d1e3053e157375f7a704f1e635467ded5a7ef2
|
| |
|
|
| |
commit_hash:2cb369cb2091489e28790782fe9e7679d367fbb3
|
| |
|
|
| |
commit_hash:e88f9eae8add4cdb21d7d432d4495f49ecebee74
|
| |
|
|
| |
commit_hash:ffd67fcee1482addcf347c78191d5e671ba2225a
|
| |
|
|
| |
commit_hash:01842381ef76c8906ec3d33c2dcf2d1ffab107f4
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
## Что означает Streaming Constraint
Пусть `O` - колабл для которого выставлен Streaming Constraint и `I` - множество входов оператора для которых также выставлен Streaming Constraint.
### Streaming constraint для Unordered List
Если `O` принимает на вход List и логически является Unordered (нету гарантий на порядок выхода относительно проядка входа), то:
* При добавлении одного элемента в конец списка любого входа из `I` -- в мульти множестве результата `O` могут только появиться новые значения (либо ничего не добавится)
### Streaming constraint для Ordered List
Тоже самое, что и для Unordered List, но добавляется ограничение, что:
* При добавлении одного элемента в конец списка любого входа из `I` -- в упорядоченный список строк, являющийся результатом `O` могут добавиться строки только в конец списка
### Streaming constraint для Stream / Flow
Тоже самое, что для Ordered / Unordered List, но добавляется ограничение:
* Если в любом из входов `I` типа Stream / Flow возможны Yield, то обновлённый результат оператора должен выводиться с ограниченной задержкой при поступлении Yield
commit_hash:1e9e2deac133179c46ad15daa32fb421a3998296
|
| |
|
|
| |
commit_hash:4d6e2f6fcc1639f09725c0c96de8d2f7f0f70404
|
| |
|
|
| |
commit_hash:41791bb9a63f1993010fb68562e9a5607927307d
|
| |
|
|
|
|
| |
Now `Grouping` function kindly works, but with some known bug,
that will be fixed in the next PR. It gives 4 TPC-DS queries.
commit_hash:e891401453cbd9d9d964f673053b856e55ea8b56
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for `RowNumber`, `CumeDist`, `NTile`,
`Rank`, `DenseRank`, `PercentRank`, `Lead`, `Lag`, `FirstValue`,
`LastValue` and `NthValue`.
It gives +3 TPC-DS queries and +5 TPC-DS bugs unlocked.
The callable `YqlWin` was introduces, having the following form:
```yqls
(YqlWin
'function_name
'window_name
'() # options
(Void) # type slot
...) # args
```
During the callable type annotation and expansion the same code
for implementation functions substitution is used and shared even
with a pgSQL.
There was an issue with a `listType` for `YqlAgg`, `YqlAggWin`
and `YqlWin`, because it was built incorrectly by referencing
an atom "row" instead of _that_ argument row. It is fixed with
a new "type slot". Now it has 3 states: `(Void)`, which is set
by translator just as a stub, `row` that is set by
`YqlSetItemWrapper` during the `RebuildLambdaColumns`, so then
on the `YqlWin` type annotation it can take this `row` and wrap
it to the `listType`, pass to the function and call for a
repetition, so in a next stage the `resultType` will be ready.
commit_hash:256fc2cb359714a646a308359b340b1715919f5d
|
| |
|
|
| |
commit_hash:9589937209af8e742c0c6401bd1c232f073856bf
|
| |
|
|
| |
commit_hash:1980242770cd95d5974e385c2cbbc670a17bd1d8
|
| |
|
|
| |
commit_hash:a16f8473cf78747f726d9e67b5c8b4e12b5b8204
|
| |
|
|
| |
commit_hash:556c06c5bf1d640b18071688c6d13850a02491c9
|
| |
|
|
| |
commit_hash:0dd4dfc3e6869e4867679d9becbf9803fa674231
|
| |
|
|
| |
commit_hash:36c3353317375da5e1b56cce83d3e38f5d23faa0
|
| |
|
|
| |
commit_hash:f508795113ebbfadfb1bc05529f4af46ae7837d2
|
| |
|
|
| |
commit_hash:198ce0c7875d77fab8082382d915bf1261775f68
|
| |
|
|
|
|
|
|
|
| |
Introduce `YqlAggWin` callable and adapt `PgWindow` as `YqlWindow`.
The `YqlAggWin` is similar to `YqlAgg`, but with window reference (name)
included. Moved `PgWindowWrapper` to `SqlWindowWrapper`. It gives +6 TPC-DS
test cases. Window functions are not yet supported, because they have
separate callables and an extra design is required.
commit_hash:ccef4463fd994779da21514dc9f6f596c511bbfe
|
| |
|
|
| |
commit_hash:c180c2db4897962cb70063ffdc2ddcd21e5e3418
|
| |
|
|
| |
commit_hash:22bd519b464916c6de877000d7442345b86110a8
|
| |
|
|
| |
commit_hash:fbe50ab4ba4f4bdf8441f8ce9f5af22a6c3acbd9
|
| |
|
|
| |
commit_hash:464a95fd6de1a395f8ffe20092e837df995e623c
|
| |
|
|
| |
commit_hash:36cc4e038807245cc6e15c4d4ed78ec199a08bb6
|
| |
|
|
| |
commit_hash:999fe8998858c2a634c729f992e7fec7d6ae5fb0
|
| |
|
|
| |
commit_hash:fb14ee5b8cca07451478bfbffcc9a2f0b3d751f5
|
| |
|
|
| |
commit_hash:4db98c64fcd9875d7d3766e81fd88e68af26e05f
|
| |
|
|
|
| |
https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-designated-initializers.html
commit_hash:d73eb463c7bec2bda4c362aab10af49979a7ddd3
|
| |
|
|
| |
commit_hash:4939dfad654f18bb31e40711ee0c39063889f17b
|
| |
|
|
|
|
|
|
| |
- https://clang.llvm.org/extra/clang-tidy/checks/modernize/loop-convert.html
Semi-automatic translation was performed. Manually rewritten some
types and names.
commit_hash:0ad921f0d512dd4a8ccc8af557197ce6a02582e1
|
| |
|
|
| |
commit_hash:b7e7a3daaa633ccf378fd5275a801a17fd8e74b6
|
| |
|
|
|
|
|
| |
We came to a situation, where a `PgXxxXxx` wrappers and expanders
serve for both `PgSelect` and `YqlSelect`, so I propose to rename
them into `SqlXxxXxx` and extract to a separate file.
commit_hash:e9a994b7b6e93a19df74a9e380638ee4e19d8bbe
|
| |
|
|
| |
commit_hash:da491ee93c4f4d3c885c7908a22b4d5d66c80388
|
| |
|
|
|
|
|
|
|
| |
After a `SqlSelect` expansion the column order must be preserved,
and so type annotation required. During an expansion the `ExprNode`
graph is transformed and so at later stages type annotation is lost,
so we need to backup it. The solution is too pass an original `xxxAnn`
`ExprNode` with `xxx` `ExprNode` to every subprocedure.
commit_hash:e2c4d727ca7617d835e0608c3d341cf76e416a30
|
| |
|
|
|
| |
Relates: YQL-20861
commit_hash:2b6703c343bcd728622c1e0d9c3f8f1f21596128
|
| |
|
|
| |
commit_hash:ec49cb52dcb45c1e45150f083b269c7337825088
|
| |
|
|
| |
commit_hash:9bbc0389b337833c2bd2799e95698978c14dc620
|
| |
|
|
| |
commit_hash:887866a3147abe01015c4f2c326e6bdd763a84c6
|
| |
|
|
| |
commit_hash:89a6325536bd6ae43bab59dfb065da0df140b940
|
| |
|
|
|
|
| |
- https://clang.llvm.org/extra/clang-tidy/checks/hicpp/exception-baseclass.html
- https://clang.llvm.org/extra/clang-tidy/checks/hicpp/multiway-paths-covered.html
commit_hash:d1e41cca7d2fd5612d559cf1f3c9f8253e8eaf0e
|
| |
|
|
| |
commit_hash:21ba9456992d9a1aacfd99a3ca34596463a7726e
|
| |
|
|
|
|
|
|
| |
Introduce window RANGE logic.
Зеркальный пр с включение фичи путем инлайнинга в коде <https://nda.ya.ru/t/p2qAEoNq7SNwUJ>
Зеркальный пр где я провожу perf измерения <https://nda.ya.ru/t/7UdlI38n7SNwUL> - в нем я описал результаты
commit_hash:2626d7d6b77f1ccb31e395d974a2beaa60f27a97
|
| |
|
|
| |
commit_hash:54982e714f162386ffa15aa0b55fa18552e5510e
|
| |
|
|
| |
commit_hash:c622ad1113247b2ddbd09777abc2c56ebc760d84
|