| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
commit_hash:1a546dc230518eb6846155c77db762e4d83281d5
|
| |
|
|
| |
commit_hash:7d19863b9dbf9c332d5f8793e47891793fc9091e
|
| |
|
|
| |
commit_hash:3d559c0475767547557bc9401ecd54bb6c531ee0
|
| |
|
|
| |
commit_hash:048f5c5f1cf2f507a91c2f4cdb24aec0cc71a004
|
| |
|
|
| |
commit_hash:e420d2d62e3a77af79abbec946f1008c1fa359c6
|
| |
|
|
| |
commit_hash:958a606c2956a1155a487070452acc770455bf66
|
| |
|
|
| |
commit_hash:65d1e3053e157375f7a704f1e635467ded5a7ef2
|
| |
|
|
| |
commit_hash:2cb369cb2091489e28790782fe9e7679d367fbb3
|
| |
|
|
| |
commit_hash:617264515b5da826be1327cb91b7fc6f6801a835
|
| |
|
|
| |
commit_hash:5a7847c000c3e5ec4cadf6880184d3eebb26d3b1
|
| |
|
|
| |
commit_hash:934d9bd00af5903f26796cf610789aaa4a7bf39c
|
| |
|
|
| |
commit_hash:72d0f5c9f96875682a71eb11e67783a723112cce
|
| |
|
|
| |
commit_hash:23ab69eb08e7c8f74df14dfc43e6109479b8dd15
|
| |
|
|
| |
commit_hash:183e3a952a021c4701c20d6677800f245239d822
|
| |
|
|
| |
commit_hash:13889e43b6156f11945dcee2ab2b59cdb056ce49
|
| |
|
|
| |
commit_hash:cb540d095291ddee3bb60c2d3addee54d23daa1c
|
| |
|
|
| |
commit_hash:a876b0522ba7aa9c9d4af22e749605f0a57343c2
|
| |
|
|
|
|
|
|
|
|
| |
Support `FULL JOIN` and fix `RIGHT JOIN` for `YqlSelect`. The
problem with `RIGHT JOIN` is that in a situation, when we have
`[a, b, c, d, e]` on a stack and are going to "perform" `right`,
all of `[a, b, c, d, e]` are marked optional, because the
`inputIndex` is equal to stack size. But we must mark only
`[a, b, c, d]` as optionals.
commit_hash:b78c5bcecba4b736475d3428918c2a3c377373bb
|
| |
|
|
| |
commit_hash:c998ba15db7c4e5137f44904de85755aa7322e8e
|
| |
|
|
| |
commit_hash:af4c180548bf1699ec6afb335167a4220418386c
|
| |
|
|
| |
commit_hash:054395f57e37951159c1184eae2e6d4bc81245f8
|
| |
|
|
|
|
| |
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:a201cbc3a08b7bad471d4d6a15f3dfc3f63d989b
|
| |
|
|
| |
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:820e0aec8856d51711fb71caa225cd7d6d89e7a0
|
| |
|
|
| |
commit_hash:ea278625098c2a9c0ad3bfbab7b981d3cc556020
|
| |
|
|
| |
commit_hash:9bdeca950e4ca97e07b2da163f014c101189c60b
|
| |
|
|
| |
commit_hash:836406699a568f3d53cbd91256d586d37bf8f4a9
|
| |
|
|
| |
commit_hash:9ee085f14c8ce1d9c66c3b1008f71570ea975bf8
|
| |
|
|
| |
commit_hash:9e799ea42a2692eb96ebc792b48e46dd060c182b
|
| |
|
|
| |
commit_hash:fd9981b64488aca88d19a45aa956d80eab220cb8
|
| |
|
|
| |
commit_hash:fb14ee5b8cca07451478bfbffcc9a2f0b3d751f5
|
| |
|
|
|
|
| |
`Null` are not yet implemented, because it was hard to fix, will
do it later.
commit_hash:879a892d511a0a2dd7110a728f01f80c260dedbf
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch unlocks a subset of `GROUPING SETS`, `ROLLUP` and `CUBE`
syntax for `YqlSelect`. The `sql` was easy, but I faced problems
at the `core` level. An existing expansion was OK, but type annotation
was changed to correctly annotate `GROUP BY` keys as `Optional`.
```haskell
notNullKeys groupBy =
union [
( intersection [ groupingSet | groupingSet in groupingSets ] )
| groupingSets in groupBy
]
```
It gives 60/100 (+9) TPC-DS queries.
commit_hash:defda3152f10bf16b9e6300294bc23cccfa1329c
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixed agg phases for `Top`, `Bottom`, `TopBy` and `BottomBy`. The
`SerializedState` for `Top` and `Bottom` is contains `MaxSize`, so
only the `state` argument is required when it `IsOverState`. `Null`
are not yet implemented, because it was hard to fix, will do it
later. The code is not clean, but to fix it a huge refactoring is
needed, including `aggregate.yqls` and `aggregation.cpp`. Also
YQLs minirun launch target was introduced, because it is easier to
experiment with YQLs directly, rather than tweaking the SQL translator.
commit_hash:47af002f70d9be6db61316e64aa866d4bff34cf4
|
| |
|
|
| |
commit_hash:52386c60ce66e769fe972c72eed82ace0d34242b
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Here was 2 issues:
1. `Init` return status was ignored and so error suppressed.
2. `PreaggregateExpr` was collected twice. On the first attempt it was
replaced with a synthetic column that will be "registered" in a
source later, and on a second attempt it was already that synthetic,
but not yet registered column and so it's init was failing.
commit_hash:4398a075d53d99cbb9b172ebae0a05aff5e2d5a7
|
| |
|
|
|
|
|
|
| |
Оставил `WinCtx` который навешивается на весь стрим внутри партиции.
Убрал ctx которые были внутри лямбды
Проблема была в том, что сначала инициализировался `pg::sum`, потом он умирал из `WinCtx` внутри `Chain1Map`, потом начиналась новая итерация `Chain1Map` которая снова пыталась обратиться к этому контексту
commit_hash:79e5dfa52508aa50c714c21ffb25f8808e1f5362
|
| |
|
|
| |
commit_hash:9b0e35dc56f168bc956399baa45cc42a892392ca
|
| |
|
|
|
|
|
| |
Removed a check and usages of `EmitReadsForExists` from the `yql/essentials`.
There are a lot of YQLs code recanonized because sometimes an extra block with
return was emitted and sometimes is not, but the YQLs is equivalent.
commit_hash:a4ec2a575177eff4063da017b4d9ee96e06f3740
|
| |
|
|
|
|
| |
This is a step forward to a cleaner `TSqlTranslation`. Now local
settings are derived to children and less mutable state is used.
commit_hash:17fcb6ad7669e3f3906beeae355df940bbfe5d28
|
| |
|
|
| |
commit_hash:f9d592aaafd658d9c44bb4f7299a527c22593569
|
| |
|
|
| |
commit_hash:2a06f3cce5a5f3c0855906fcfc44690a8af0a609
|
| |
|
|
| |
commit_hash:6544bfe8edc1e65a4e7a9e02b37d465b0d4b4ae6
|
| |
|
|
| |
commit_hash:ee3eb618828d61c8a676898641ff080a749a6b96
|
| |
|
|
|
|
|
|
| |
A partial implementation, that accepts only subqueries, matching
`select_kind (UNION/EXCEPT/INTERSECT select_kind)*`, so parenthesis are
not supported yet and will be added later. Parenthesis support was
postponed as they are not used in the TPC-DS benchmark.
commit_hash:008ad8857000d1f69e8e8979fa83ab803318a1ae
|
| |
|
|
|
|
| |
This patch triggered a lot of QPlayer failures: https://nda.ya.ru/t/BcVGwg9S7VgzFA.
This is because https://nda.ya.ru/t/Mh2NOU6z7VgzPH.
commit_hash:a2c5f968b0751d785d42db238e59c96499edb417
|