summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql
Commit message (Collapse)AuthorAgeFilesLines
* Add external_data_channels_count create table feature (SQL part)Anton Romanov2025-08-224-1/+35
| | | | | | | | | | | | | | | Can I use your `soroka` for push YQL part of a new feature for YDB, please? [There](https://github.com/ydb-platform/ydb/pull/21672) is the original PR approved by Fomichev an Puchin which can't be committed directly to YDB github. Type: feature Component: yql --- Co-authored-by: Tony-Romanov [[email protected]] Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1414 commit_hash:c98a7b656a050b09976f22f1470ba0ab5bbb52c2
* Add new option CACHE_MODE in FAMILY settingsivannik2025-08-225-3/+115
| | | | | | RFC: https://nda.ya.ru/t/vPsncOoC7HttdF GitHub Issue: https://github.com/ydb-platform/ydb/issues/18695 commit_hash:96445a9aef7b1fede372b9e4c60b30eb9ef5fdc1
* YQL-19747: Fix YQL autocomplete configurationvitya-smirnov2025-08-191-8/+10
| | | | | | | Fixed an absence of candidates at `$x = (sel#)` as of `subselect_stmt` ignorance at the `YQLConfiguration`. commit_hash:5a841d63fad104599a791953f2f89b8791816115
* YQL-19747: Fix some autocomplete issuesvitya-smirnov2025-08-193-15/+85
| | | | | | - Collect only named node definitions - Fix qualified column after WHERE commit_hash:641977921329199e645c3ac45ae8053a5d0e8b13
* YQL-19747: Infer table path from CONCAT and RANGEvitya-smirnov2025-08-1911-54/+146
| | | | | | | Table function `RANGE` is commonly used, so some support for a table path inference is required. It is done by doing ``` `prefix` || '/' || `min` ```. commit_hash:4bec2a84a0ee8f6d97c92a46b4c4ebc7b41c4d7c
* Watermarks: add time extractor to HoppingWindowvokayndzop2025-08-143-50/+232
| | | | commit_hash:d54496a7e3d9bd72e53ce880691a59490a34a138
* YQL-18878: Introduce Re2::IsValidRegexpatarasov52025-08-141-1/+1
| | | | commit_hash:44a39f94ad6f9407cb9e493cbf88ef28b320586e
* YQL-20257: Parse cluster at simple_table_ref bind_parametervitya-smirnov2025-08-136-32/+63
| | | | | | | - Add `cluster_expr` to `simple_table_ref_core` alternative. - Added `Sql2Yql` unit test with a statement that is not parsed on trunk: https://nda.ya.ru/t/qHRri7r57HK3r2. commit_hash:eada89e88e3f2bc03c47cd22b73ba58b75f20681
* YQL-20301: Map unsupported object to UnknownNamevitya-smirnov2025-08-139-13/+64
| | | | | | | Before this PR unsupported objects were filtered, but we would like to show even unsupported object types as unknown name candidates. commit_hash:04c64b6e28717c3c19927d49eeedec7515608c22
* YQL-19747: Improve and fix completon enginevitya-smirnov2025-08-1214-29/+236
| | | | | | | | | | | | | | Played with the autocomplete and found some issues: https://nda.ya.ru/t/1F9ioYe37HVwo2. - Supported `min`, `max` parameters of the `RANGE` table function, respecting `prefix`. - Supported cluster detecton at table function, e.g. `SELECT * FROM plato.RANGE(Input1, Input2)`. - Made column filter not to ignore a table alias. - Supported keyword as identifier parsing. - Supported `ID_QUOTED` as table alias. commit_hash:9e9ff13373cd059e6a240ddff0ae18f599d790c0
* YQL-20280: Warn on ASSUME ORDER BY usage after UNIONvitya-smirnov2025-08-112-0/+49
| | | | commit_hash:a9c400c784ed04924390abb11509664e6576a3b7
* YQL-19747: Fix an absent column after WHEREvitya-smirnov2025-08-082-2/+13
| | | | | | | | Fixed an absence of column candidates at `SELECT * FROM t WHERE a#`. The problem was with a `IsEnclosing` procedure, because here the cursor is actually outside the `select_core` now there is a `_` symbol that enlarge this rule text range. commit_hash:0b493cb469333f9a37c923b06267ac026efeb2c9
* Watermarks: DDLvokayndzop2025-08-0810-5/+110
| | | | commit_hash:64ad6b4138ee27f474b440e8ef3e07fac1935346
* YQL-19616: Generate Monarch Configurationvitya-smirnov2025-08-061-4/+4
| | | | | | | - Generated Monarch configuration as a JSON. - Added test files for `*.yql` and `*.yqls`. - Screenshots: https://nda.ya.ru/t/LgOjOxcs7HJQyS. commit_hash:dddf747c54780332b54fca3e9e9b52c88a9736f5
* YQL-20247 Depends for Udf functionvvvv2025-08-054-7/+27
| | | | commit_hash:4ee9d9b9079b90e8eeb91accc41d6a3a30c3a18c
* YQL-19747: Partially concat and resolve symbolsvitya-smirnov2025-08-0414-164/+520
| | | | | | | | | - Migrated GetId to a Partial Evaluation function. - Centeralized named expressions collection. - Centeralized query parameters resolution. - Supported symbols resolution and concatenation. - Migrated USE and Columns Syntesis on the evaluation. commit_hash:fafedc4330bcd4a7ab607ae1d5f2691a2f5a60f2
* YQL-19616: Enumerate types DRYvitya-smirnov2025-08-043-39/+18
| | | | | | Replaced hardcoded types list at highlighting generator with core enumerator. commit_hash:68fa56ed73fabf015a2469ed6bcc4e2481456647
* YQL-19616: Generate YQLs syntax highlightingvitya-smirnov2025-08-013-11/+29
| | | | | | | | | | | | | | | | | | | | - Support `Before` at core `TRegexPattern` and `IGenericLexer`. - Added `Name` and `Extension` to core `THighlighting`. - Added `Tighlighting` for `YQLs` factory method. - Added `--language` option to `yql_highlight`. - Added `artifact` targets for `YQLs`. Yes, using the `NSQLTranslation::THighlighting` for `YQLs` is not correct, but much simplier than generalize this infrastructure just for a `YQLs`. So here is a trade-off between development time and a clean code. Results: - JetBrains: https://nda.ya.ru/t/PXkZVE8m7H5wHS. - Vim: https://nda.ya.ru/t/Am-6ZHQa7H5wJi. - TextMate: https://nda.ya.ru/t/wH0YggAf7H5wKw. - yql_highlight: https://nda.ya.ru/t/3FaCm57q7H7QSF. commit_hash:f0e1abb8e7f1b083df531d761b357330bd514cb0
* YQL-19616: Generate YQL TextMate Bundlevitya-smirnov2025-07-312-3/+3
| | | | | | | | - Introduced the Generator interface. - Made tool to generate content to stdout and file. - Supported TextMate Bundle, tested on IDEA and TextMate. - Fixed UDF highlighting priority. commit_hash:bcbc446a2fe58da3400f0e981a03d821b8f77dae
* Added directory to transfer settingstesseract2025-07-311-0/+1
| | | | commit_hash:b807590d35f109a7e66e6f2fc86bed811e1b8890
* Intermediate changesrobot-piglet2025-07-301-2/+3
| | | | commit_hash:c0ba1e1b769fc35ecc458fc556b00493f26f75d1
* YQL-20112: Improve dramatically yql/utils/docsvitya-smirnov2025-07-302-3/+3
| | | | | | | | | Introduced `links.json` format to link names to documentation sections. Implement general links verification framework. Also fixed two small typos. Extended Description: https://nda.ya.ru/t/zR4voivb7GzD9r. commit_hash:e72db0e202b4ff612374c73fa384f70d029f0ef0
* YQL-20216 position aware csse nodesvvvv2025-07-284-1/+9
| | | | commit_hash:78445e1b3b0bb001e0d08b36fd4d31bcd9e37eb4
* YQL-19200: Return persistable expression from FLATTEN BY clauselambda-delta2025-07-253-5/+18
| | | | | Return persistable expression from FLATTEN BY clause commit_hash:8b19ad7f7ddf436c2741f9aa1c5402732fc31f06
* YQL-20165: Refactor pragma handling in TSqlQuerylambda-delta2025-07-252-800/+682
| | | | | | | Move complex handlers to the table Extract simple pragma implementations commit_hash:cb0ebc041fd6d848e9d7701b0ca7db19965cd314
* YQL-20112: Enable type candidates documentationvitya-smirnov2025-07-241-1/+1
| | | | | I forgot to add it. commit_hash:d4829c1e1b23f65d0e8673874e622af4aaa3c9d3
* Intermediate changesrobot-piglet2025-07-232-3/+31
| | | | commit_hash:d439bc377d223113786f60db8fcec45585658d40
* YQL-20221: Change FilterText for bindingvitya-smirnov2025-07-221-2/+0
| | | | | The last fix of the Monaco Editor named expr filtration. commit_hash:542d6b9f549f8037057fccf5a898ec1f74718748
* YQL-19616: Improve TextMate and Vim grammarsvitya-smirnov2025-07-223-6/+30
| | | | | | | | | - Fixed multiline tokens - Fixed REAL number display - Disabled punctuation highlighting - Refactored by extracting properties to core highlighting commit_hash:a2d1eb6e4e49b1cb785b90accbdecebe977faa13
* YQL-20221: Change binding replace rangevitya-smirnov2025-07-225-15/+60
| | | | | | | | | | Symbol `$` was excluded from the `BindingName` candidate content as `Replxx` interprets `$` as a word break. The problem is that Monaco Editor accounts `$` as a word part and filters out bindings. This patch makes `$` a word part and adds replace range to handle this properly at `Replxx`. commit_hash:ca3959635a6c0e6688bcbe7622a9c2aab6c683eb
* New ASYNC REPLICATION's option: CA_CERTilnaz2025-07-212-1/+7
| | | | commit_hash:ce61d0c6dad2e170eface04d63918adc1082e56e
* Feature: alter table T alter column C set not nullflown4qqqq2025-07-218-28/+91
| | | | | | | | | Когда-то давно (когда еще YQL жил в github) была поставлена задача - поддержать SET/DROP NOT NULL на колонку. DROP NOT NULL был сделан и давно уже существует в main: <https://github.com/ydb-platform/ydb/pull/6342>. Однако с SET NOT NULL возникли определенные сложности, поэтому был сделан отдельный пулл реквест: <https://github.com/ydb-platform/ydb/pull/6341>. Как видно, ПР так и не вмержили по причине увольнения автора кода. Недавно задача всплыла вновь, поэтому надо доделать. В этом пулл реквесте добавляется код в грамматику YQL новое выражение - `ALTER TABLE t ALTER COLUMN c SET NOT NULL`, которая добавляет ограничение `NOT NULL` на колонку. commit_hash:f310061b13666418c46309ea32032fbce68fb865
* YQL-19616: Fix BindParameterIdentifier typovitya-smirnov2025-07-184-8/+11
| | | | commit_hash:d95cb665e7dd63f67ee4ef7a2602f1c9ec34d26f
* YQL-19616: Generate Vim SQL syntax highlightingvitya-smirnov2025-07-153-5/+10
| | | | | | | | | | Introduced a Vim syntax highlighting for YQL. This is a replacement for an existing almost manually written conguration. It uses regexes generated from the original ANTLR4 grammar. Now only Default lexer mode is supported. commit_hash:85fa094593bd9d80373754a492b46ede1a50148d
* YQL-20171: Fix aggregation joining keyvitya-smirnov2025-07-155-11/+63
| | | | | | | | | | | | | | | | 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-134-15/+22
| | | | | | | There was a mistake, because actually EXCEPT has the same precedence as UNION. INTERSECT has higher precedence than. commit_hash:20375ef498861c6704571161fa3c4eebf54e895c
* Fixed grammar of the transfertesseract2025-07-104-11/+9
| | | | commit_hash:98f460965618cdddf9fc25373b20741b4e85a303
* YQL-19747: Complete table functionsvitya-smirnov2025-07-1014-45/+200
| | | | | | | | | | | | - Added table functions completion. - Also fixed a bug when USEd cluster was not added to table context at table function argument. - Complete folder names at `prefix` of `LIKE`, `RANGE`, etc. commit_hash:26be383be728796e8431f906e2815acd77645ad4
* YQL-20170 fixvvvv2025-07-091-3/+5
| | | | commit_hash:2c408c6ee755878a488f1591510d196d1bf5fba1
* YQL-19747: Fix query parameters parsingvitya-smirnov2025-07-092-1/+2
| | | | | | I missed that a query parameter key starts with '$'. commit_hash:1a24953b4f837da31db2201b9a9ffd0eef0c6b34
* YQL-17269: Support UNION/INTERSECT/EXCEPT combinationsvitya-smirnov2025-07-098-126/+295
| | | | | | | | | | | | Introduce `UNION` and `INTERSECT/EXCEPT` grammar rules for precedence. Rewrote `Build` procedure into `BuildStmt`, `BuildUnion`, `BuildIntersection`. Added tests, modify format. It took a lot of time trying to adapt the existing `Build` procedure. The I noticed that the logic for `union` and `intersection` is different, since `union` groups arguments into bundles, but `intersection` is a strictly binary operation. commit_hash:70008ae3c2603364b6dfbeeb189fdc7f5237433d
* YQL-19747: Fix binding precence at ID_QUOTEDvitya-smirnov2025-07-093-1/+20
| | | | commit_hash:a497dfe8863a864913c1d6df4b28edbe7d8e4bba
* YQL-19747: Fix FilterText for a named expressionvitya-smirnov2025-07-083-0/+19
| | | | | | Related to <https://nda.ya.ru/t/DMAUQona7GBKMA>. There was a problem with a binding ranking. commit_hash:6dbd96ec883562c4e03778a8487b2843be189ce7
* YQL-20112: Support experimental documentationvitya-smirnov2025-07-049-3/+147
| | | | | | | | | | | | | | | | | | | | LSP supports the following propoerty of the completion item, that supports Markdown format: ``` /** * A human-readable string that represents a doc-comment. */ documentation?: string | MarkupContent; ``` I added docs only for a few items just to check a look in the UI. Also some docs are shortened. Documentation is opt-in decorator for a NameService. Because it is not needed in the YDB CLI, for example. commit_hash:b400ed1224be2906b7fb1da29e9c97aa7578d710
* YQL-19747: Fix small TODOsvitya-smirnov2025-07-0421-174/+163
| | | | | | | | | | | | | - YQL-19747: Remove unused header - YQL-19747: Remove NameSet alias - YQL-19747: Fix identifier typo - YQL-19747: Cosmetics - YQL-19747: Receive NameRequest as const ref - YQL-19747: Remove string_util.h - YQL-19747: Change engine.Complete - YQL-19747: Remove configuration typedef - YQL-19747: Rename context to local commit_hash:451a6ba7c08e670a492222a29463be40a627c867
* YQL-19747: Support LSP FilterTextvitya-smirnov2025-07-035-7/+20
| | | | | | | | | | | | | | | | | | | LSP protocol has a property ``` /** * A string that should be used when filtering a set of * completion items. When omitted the label is used as the * filter text for this item. */ filterText?: string; ``` It is useful, e.g. when we prepend some punctuation at a candidate content, but still want to filter by prefix, ignoring that punctuation. Related to https://nda.ya.ru/t/KCkzjhXS7G3Epg. commit_hash:01f258218d312eef764350bd4d78da15acb8c9ea
* YQL-19747: Support named subquery columnsvitya-smirnov2025-07-033-11/+125
| | | | commit_hash:79ad481a8734a11e954d4a38e1218b17e116700c
* YQL-19747: Respect WITHOUT at schema synthesisvitya-smirnov2025-07-0313-30/+203
| | | | | | | | | Also fixed a bug when the same table used with and without an alias produced duplicated column names. This is incorrect at translator, but anyway we need to handle it gracefully. Also refactored some utility methods like context union. commit_hash:45a12675e865bb9d929e5e5178e16239a763d1f5
* YQL-19747: Respect quotable columnsvitya-smirnov2025-07-037-3/+78
| | | | | | Table can have not `ID_PLAIN` columns and we should return them as `ID_QUOTED`. commit_hash:f5850228a3191ab84e3740fc1c36cf8882b08c40
* YQL-19747: Support JOIN ON, WHERE, GROUP/ORDER BYvitya-smirnov2025-07-025-10/+100
| | | | | | | Before this patch we completed columns only at SELECT projection. Now we complete it at these constructions. Also it respects visibility rules. commit_hash:aa1e6d4900e9b032801ddbf3bcd347750c2939b1