summaryrefslogtreecommitdiffstats
path: root/yql/essentials/tools/yql_complete
Commit message (Collapse)AuthorAgeFilesLines
* YQL-20239: Exract pure_ast and move to sql/v1/idevitya-smirnov2026-06-112-17/+17
| | | | | | | | | It is a preparation for a hover LSP method implementation. Query parser and a narrowing visitor are required for the feature, so I extract the logic to a module `pure_ast` from a `complete`. Also modules `complete` and `pure_ast` are moved to `sql/v1/ide/completion` and `sql/v1/ide/pure_ast`. commit_hash:58bed5f2e39bf4779e28468fe7de1e0c4fb2c4c3
* YQL-20095: Enable modernize-avoid-c-arraysvitya-smirnov2026-02-191-2/+2
| | | | commit_hash:da491ee93c4f4d3c885c7908a22b4d5d66c80388
* YQL-19017: Remove TTranslationSettings::Antlr4Parservitya-smirnov2025-12-101-2/+1
| | | | | Then I will remove an `Antlr4Parser` usages from the YDB. commit_hash:0183482e46de023f71698e03db9a0c51ef10fe98
* YQL-20086 invert flagvvvv2025-10-101-2/+0
| | | | commit_hash:a6b640bc576263b62884a0b4187ba79c893e13d9
* Intermediate changesrobot-piglet2025-10-061-0/+2
| | | | commit_hash:ab4976b763ebd56a8961ed2ba5e9f289926a0086
* YQL-19747: Load schema from JSON for CLIvitya-smirnov2025-06-192-3/+51
| | | | | | Now it is possible to pass clusters schema via a JSON file using `-s` flag. commit_hash:fd579430968881627c77d4586464952176134dc5
* Intermediate changesrobot-piglet2025-06-171-15/+6
| | | | commit_hash:ff50a44bdfd5c21be7a5c2a0f48165050d5313cd
* Intermediate changesrobot-piglet2025-05-271-1/+0
| | | | commit_hash:be87cc6701e6f6ee1e135fb1ec94fc86b919c120
* YQL-19747 Complete folder, table and cluster namesvityaman2025-05-061-0/+1
| | | | | | | | | | | | | | | | --- - Related to `YQL-19747` - On top of https://github.com/ytsaurus/ytsaurus/pull/1253 - Related to https://github.com/ydb-platform/ydb/issues/9056 - Related to https://github.com/vityaman/ydb/issues/14 - Related to https://github.com/vityaman/ydb/issues/35 - Related to https://github.com/vityaman/ydb/issues/40 --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1257 commit_hash:0b842abb27184c88b8177beeea29fb1ea86b7a04
* YQL-19747 Introduce SimpleSchemaGatewayvityaman2025-04-291-0/+2
| | | | | | | | | | | | | | | | | | | Introduce the `SimpleSchemaGateway` to make it easier to implement `SchemaGateway`s. The idea is that actually existing schema providers really do not support filtration such as by name and type, so in practice they return us the whole list and we need to filter it by hand. The `SimpleSchemaGateway` to `SchemaGateway` adapter does this for us -- we only need to implement a path splitting and folder listing. The other and important feature of the `SimpleSchemaGateway` is that it is simple to implement a caching decorator for it -- just store a mapping `Path -> [FolderEntry]`, while caching a `SchemaGateway` with filters is soooo not trivial. I also added string constants for known folder entry types, because they should be documented somewhere. --- - Related to `YQL-19747` - Related to https://github.com/vityaman/ydb/issues/14 - Related to https://github.com/vityaman/ydb/issues/34 --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1245 commit_hash:dda6dcac544ca95d5e8e08f1e7de9de6b5770f25
* YQL-19747 Enable custom NameSet and FrequencyDatavityaman2025-04-281-9/+9
| | | | | | | | | | | | | | | | | | | | | | Clients might want to use custom `NameSet` and `FrequencyData` in their environment, for example, to get their private UDFs and to have more relevant ranking that includes their private UDF and respect their usage pattern. To achieve this goal I decided to load pure `NameSet` and `FrequencyData` and provide functions for pruning. Also I checked defaults and decided that it is more common for a client to create a `StaticNameService` from pure `NameSet` and `FrequencyData` to keep their pruning consistent. I also extracted a separate module `ranking`. It will be needed when I will implement `UnionNameService` to union `StaticNameService` and `SchemaNameService`. `UnionNameService` will load `Limit` names from each child and then crop them to sorted prefix of length `Limit` using `IRanking`. --- - Related to `YQL-19747` - Related to https://github.com/ydb-platform/ydb/issues/9056 - Related to https://github.com/vityaman/ydb/issues/14 --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1246 Co-authored-by: vvvv <[email protected]> Co-authored-by: vvvv <[email protected]> commit_hash:cdca301a58a34e56d537a447b4ff779cd70faea6
* YQL-19747: Refactor sql/v1/complete usage of Future and Ptrvityaman2025-04-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - [x] Chained futures, add `CompleteAsync` method (then will migrate the YDB CLI on it). - [x] Removed deadlined and fallback NameService as unused - [x] Annotate thread-safe methods with `const` and use `AtomicSharedPtr` for them. - [x] Move `name` to `name/service` with backward compatibility with the YDB CLI. --- `CompletionEngine` is left thread-unsafe because of the dependency chain `CompletionEngine -> LocalSyntaxAnalysis -> C3Engine` which is thread-unsafe, but readonly indexed data structures such as `Ranking` and `NameService` are annotated with const and distributed via shared pointers. I removed deadlined and fallback name services because the first is stupid the second is ahead of its time and is better to be added later to keep interfaces as minimal as possible. --- The migration on async complete plan: 1. Introduce CompleteAsync 2. Migrate clients on CompleteAsync 3. Make Complete to return Future 4. Migrate clients on Complete 5. Remove CompleteAsync --- - Related to https://github.com/ydb-platform/ydb/issues/9056 - Related to https://github.com/vityaman/ydb/issues/33 - Related to https://github.com/vityaman/ydb/issues/31 --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1241 Co-authored-by: vvvv <[email protected]> Co-authored-by: vvvv <[email protected]> commit_hash:497cc081ab78bebf7354e0acfaa418d936cc8240
* Intermediate changesrobot-piglet2025-04-111-5/+16
| | | | commit_hash:2f615b4a2a2726593dd70b36499819265862155f
* YQL-19747 Improve yql_complete tool and add input validationvityaman2025-04-082-1/+22
| | | | | | | | | No description --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1185 commit_hash:1def5874ff6a9a5b3dcdd0ad285d2e64b16c9306
* YQL-19747 Introduce types and functions rankingvityaman2025-04-022-2/+40
| | | | | | | | | | | | - [x] Fix bug with incorrect no-case sorting. - [x] Get names from `sql_functions.json` and `types.json`. - [x] Add types and functions ranking according to `rules_corr_basic.json` data via a `PartialSort`. - [x] Add benchmark workspace. --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1167 commit_hash:84d93265fb69bf5651f905d6af038056657e9a16
* Intermediate changesrobot-piglet2025-03-051-0/+4
| | | | commit_hash:dacf0e6cb652774fdda7fd6543333c73a68e65b2
* Intermediate changesrobot-piglet2025-02-282-0/+65
commit_hash:635f3c44553ff6c26f4387533d6260171d23708f