summaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/sql/suites
Commit message (Collapse)AuthorAgeFilesLines
* Intermediate changesrobot-piglet3 days138-0/+138
| | | | commit_hash:c3c929f4005b33d2fddb492bbc2c553125d9ad40
* YQL-20307: Support inline subqueriesvitya-smirnov5 days19-0/+291
| | | | | | | | | | | - Alter grammar to support inline subqueries. - Support inline subqueries in `sql/v1` (translator). - Introduce `sql/v1/proto_ast/parse_tree.h` for reusable parse tree predicates. - Support inline subqueries in `sql/v1/format`. - Support inline subqueries in `sql/v1/complete`. - Add some SQL-tests. - Pass all tests. commit_hash:075b2240778d071e1c7542f912d3cc83019ef849
* Intermediate changesrobot-piglet5 days3-0/+1
| | | | commit_hash:a9a24e2156ccebef387f026b91efcd5628389146
* YQL-20339 linear checkervvvv7 days21-2/+48
| | | | | | | usage types commit_hash:6214c6a10f057439898414592a7b70a178ef14a1
* YQL-20461: Normalize table function namesvitya-smirnov7 days1-1/+1
| | | | | So now both `AsTable` and `AS_TABLE` work. commit_hash:ae8c33f44e7b10de02a9d979373f4b0602ff0b12
* YQL-20339 merge blocks optimizervvvv10 days4-0/+9
| | | | | init commit_hash:fee9a86a1f95e9271bf49205dad4b6eb0b934dec
* YQL-20226: Wrap unpickle with try catchatarasov510 days2-0/+7
| | | | commit_hash:96e8a09d23befb758e60a6e01f691868331af968
* YQL-20339 expr high level funcsvvvv2025-09-224-0/+4
| | | | | init commit_hash:479f16e9cd255b616573d811910403290f9ef656
* YQL-20339 expr low level funcsvvvv2025-09-2215-0/+82
| | | | | init commit_hash:ededd246fa929931de6e89fd5f809157d9fe4d16
* YQL-20339 block function for scoped argsvvvv2025-09-191-0/+2
| | | | | без langver, т.к. может быть использована для починки оптимизаторов, где при раскрытии List-ов из воздуха рождается Iterator а потом все заканчивается Collect commit_hash:21cb9b9454cb255b476d50bdb8c5db150cd773fd
* SeqMode supportudovichenko-r2025-09-185-1/+6
| | | | commit_hash:3d0e8bfb46470e6ac36b0d198cfa1723c665f643
* YQL-20339 expr types & reflectionvvvv2025-09-183-0/+13
| | | | | init commit_hash:1c72053b3785a26cfde418f28a9d054b5a624627
* YQL-20423 pending files should postpone all outer evaluationsvvvv2025-09-157-0/+18
| | | | commit_hash:70c91e881d5f8126d3d1c68a5816f440295330da
* Fix NormalizeEqualityFilterOverJoin with optionalsaneporada2025-09-151-0/+10
| | | | commit_hash:dbf1a2fd200d2699cbc984fd4da357fb79ca3bd9
* Improve optimizer for logical ops over Justaneporada2025-09-091-0/+9
| | | | commit_hash:f29316d37138b6555b2d09a4c67aeef3b447ea60
* Fix 'Distributive law for OR' optimizeraneporada2025-09-091-0/+16
| | | | commit_hash:832d6963d7f12d5ff8da09d883801e65857acaca
* YQL-20258 sql syntaxvvvv2025-09-0826-66/+34
| | | | commit_hash:c2440ce49cc8c7637134ddf8081b32251ff75fd4
* YQL-20258 more tests & refactorvvvv2025-09-082-0/+6
| | | | commit_hash:031b3f5c4215bc9c66d0cea9c8dd8d69a1ec1627
* YQL-20234: Remove predicate argument on middle aggregation phasesvitya-smirnov2025-09-0519-0/+1410
| | | | | | | | | | | Also added tests for: - max_by - agg_list - some - avg_if - sum_if - count_if commit_hash:0da4f3b9b1767850e65c914b727bc362cf4cc125
* YQL-20367: Add DisableExceptIntersectBefore202503 feature flagvitya-smirnov2025-09-045-0/+4
| | | | commit_hash:a8645f7215087df3309048de31a7f0b3dc802a11
* YQL-20365 ConvertTo, warn for Ensurevvvv2025-09-036-0/+12
| | | | commit_hash:39b07bbc84e57d9df02c839273366c28442b789f
* YQL-20368: Improve unimplemented literal errorvitya-smirnov2025-09-031-0/+3
| | | | commit_hash:27dc40f323e5d24af0dae4f3917a63248f8f8386
* YQL-20258 simple1 optvvvv2025-09-0231-0/+60
| | | | commit_hash:ad0cc5722938a8e337f7bc9b5f4a631a299c6a99
* YQL-20345: Disable EXCEPT/INTERSECT/DISTINCT before 2025.03vitya-smirnov2025-09-017-0/+7
| | | | | | Added absent checks for `langVer` at `EXCEPT/INTERSECT/DISTINCT` translation. In next PR will get rid of `.sqlx` file extensions. commit_hash:699cc8f6084d1d2fc19ecd53c35a56496dc842f4
* Intermediate changesrobot-piglet2025-09-015-0/+0
| | | | commit_hash:ffcc5347cf91200515e45d7442de193e20d6edcd
* YQL-20340: Fix getelem comp nodeatarasov52025-08-288-0/+293
| | | | commit_hash:4b93115d4e3d46770946a7a462c7413d6183282f
* YQL-20341 handle missing table in the join subtreevvvv2025-08-281-0/+7
| | | | | init commit_hash:7169a3cfe8408c4baff8524a8022b5b219900b94
* YQL-20253: Support `FLATTEN [OPTIONAL] BY` for any data typelambda-delta2025-08-268-0/+32
| | | | | Support `FLATTEN [OPTIONAL] BY` for any data type commit_hash:6fb221fadf29d1dcc7ea4590a21c115fc506aa51
* Intermediate changesrobot-piglet2025-08-192-2/+0
| | | | commit_hash:8ca485c564bd7f0ff3ce9685470a06e07e99d0f4
* YQL-20150: Add OptimizeLMap optimizermaxkovalev2025-08-191-0/+37
| | | | | YQL-20150: Add OptimizeLMap optimizer commit_hash:065921d83e492d815fa95f3e9bedd006aee0c887
* Intermediate changesrobot-piglet2025-08-181-0/+107
| | | | commit_hash:45d5b2e2dd994307de6d103f3b9658f40fd3696b
* Intermediate changesrobot-piglet2025-08-131122-0/+0
| | | | commit_hash:e6cca97ec9c9627f1ba82a11abf454518fc90972
* Intermediate changesrobot-piglet2025-08-1224-0/+0
| | | | commit_hash:ed91bc01a9eb89e8817a6441ee293bf98524290c
* Intermediate changesrobot-piglet2025-08-111-0/+0
| | | | commit_hash:5b0aadf271c553415c536606ff7f52575bd267c4
* YQL-20211 YQL-20223: skip nulls in pushdown over optional sidelucius2025-08-082-0/+182
| | | | | | | | | | | Добавляю поддержку фильтрации нуллов при пушдауне на необязательную сторону джоина (до этого она работала только при пушдауне на обязательную сторону). Как в пушдауне предиката с левой стороны одновременно на правую (PredicatePushdownOverEquiJoinBothSides), так и в пушдауне сразу на правую (FilterPushdownOverJoinOptionalSide). Включается по флагу PredicatePushdownOverEquiJoinBothSides. Тесты с включением можно посмотреть тут: <https://nda.ya.ru/t/e2f09Qw_7HNvu6> commit_hash:0f101bfced2a510995577e1bca90eef6d2505992
* YQL-20247 Depends for Udf functionvvvv2025-08-054-0/+16
| | | | commit_hash:4ee9d9b9079b90e8eeb91accc41d6a3a30c3a18c
* YQL-20206: Optimize X AND/OR Not X YQL-20229lucius2025-08-014-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Делает возможным такие оптимизации: - `X AND NOT X -> FALSE` - `X OR NOT X -> TRUE` Работает в том числе если X будет завернут в Unessential. Только для неопциональных X. Пример замены когда много аргументов: ``` In: A and X and B and NOT X and C and X and D Out: A and FALSE and B and C and D ``` Выражение из примера можно преобразовать если X, B и C не требуют побочных эффектов. Или вот пример если B' требует побочных эффектов: ``` In: A and X and B' and NOT X and C and X and D Out: A and X and B' and FALSE and C and D ``` Про что думал, но не стал делать: 1) Можно заменять на константу не только X / NOT X, но и всю цепочку подряд идущих узлов без побочных эффектов. Оставляю это другим оптимизаторам, чтобы меньше думать про нюансы и не дублировать код (в частности чтобы не заботиться о типизации если в цепочке оказался Optional Bool). 2) Можно поддержать опциональные X, тогда будет примерно такое преобразование `X AND NOT X -> IF(X IS NULL, NULL, FALSE)`. Неочевидно что это улучшение и пока решили не делать. Оптимизатор под флагом. Тесты с включением флага тут: [https://nda.ya.ru/t/6YuCsGDE7H8Dnd](https://nda.ya.ru/t/YVdMA5B37H8Dne commit_hash:c34cf075a46c6b06c742ff0b15697b93ede75924
* YQL-20258 side effects infrastructurevvvv2025-08-017-0/+22
| | | | commit_hash:cb76201226f30679f63457a9f9e1ebdb31dcd05b
* YQL-20209: use Filter+Unessential instead of SkipNullMembers in ↵lucius2025-08-012-0/+38
| | | | | | EmitSkipNullOnPushdown commit_hash:464cfa9be3ee98de47a47ff4e88db5b0d9eb37ec
* NormalizeDependsOn pipeline stageziganshinmr2025-07-302-0/+21
| | | | commit_hash:a563966e2448de9828c0786f9ba9939b55fc21fd
* YQL-20216 position aware csse nodesvvvv2025-07-282-0/+11
| | | | commit_hash:78445e1b3b0bb001e0d08b36fd4d31bcd9e37eb4
* YQL-19200: Return persistable expression from FLATTEN BY clauselambda-delta2025-07-258-0/+20
| | | | | Return persistable expression from FLATTEN BY clause commit_hash:8b19ad7f7ddf436c2741f9aa1c5402732fc31f06
* YQL-20230: Handle singular types in DoConvertScalaratarasov52025-07-231-0/+46
| | | | commit_hash:c22dc757dcd7996bac8fb892184281503a2ab003
* YQL-20205 added struct type validationvvvv2025-07-232-0/+4
| | | | | init commit_hash:beef3d18a5b85dc793380a01249358243137df70
* YQL-20197: fix FilterOverAggregate when predicate uses all fieldslucius2025-07-221-0/+22
| | | | | Оказалось что пушдаун предиката через Aggregate не работал когда в предикате используются все поля из Aggregate. Чиню commit_hash:c2e8cab88a0adb496464b9dac52807fcc95f433d
* YQL-19896: allow optional side in SingleInputPredicatePushdownOverEquiJoin ↵lucius2025-07-211-0/+145
| | | | | | | | | | | | | | | in some cases Разрешаем пушить на необязательную сторону предикат, который использует только ключевые колонки с обязательной стороны джоина. 1) рассматриваемый предикат зависит только 1 стороны и это обязательная сторона джоина 2) предикат зависит только от ключевых колонок джоина 3) все соответствующие по ключу джоина колонки в обязательном  и необязательном инпутах должны полностью совпадать по типу В этих случаях мы пушим предикат не только на обязательную, но и на необязательную сторону commit_hash:1404e877fdd271dbe8342478a20b99b6f99a4fda
* Intermediate changesrobot-piglet2025-07-171-0/+4
| | | | commit_hash:50d34a5b1e277a0ff5dce83a9cf485e2c0d1a471
* Fix 'Member over renaming FlatMap' optimizeraneporada2025-07-151-0/+4
| | | | commit_hash:589383be883e0948cdf7db8928c5842d60c5c628
* YQL-20171: Fix aggregation joining keyvitya-smirnov2025-07-151-0/+10
| | | | | | | | | | | | | | | | There was a bug with a aggregation deduplication by a column at the translator. For a single column the system joining all aggregations using the generic key. The generic key was just a column name without source name what leads to collision when aggregating multiple different sources with same column names. This patch fixes the generic key by adding a data source name there. Also tests are added. commit_hash:1c0a9da512f68c58d2830e096de76b769b733cb2
* YQL-17269: Fix UNION/EXCEPT/INTERSECT precedencevitya-smirnov2025-07-131-6/+6
| | | | | | | There was a mistake, because actually EXCEPT has the same precedence as UNION. INTERSECT has higher precedence than. commit_hash:20375ef498861c6704571161fa3c4eebf54e895c