aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/parser
Commit message (Collapse)AuthorAgeFilesLines
* YQL-19767: Introduce MKQL allocator address sanitizingatarasov56 days1-4/+7
| | | | | Здесь поддержал только out of bounds access и use after free. Отложенное использование памяти и тд буду делать потом commit_hash:2a3fd472b626762ff7c8b7b0bc1285af50c511cf
* Intermediate changesrobot-piglet2025-04-241-1/+0
| | | | commit_hash:dc3193604b8e3f1c1a2e012318f542b2497d7638
* YQL-19747 Detect a token at the caret positionvityaman2025-04-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I tried to implement a folder and object names completion at `ID_QUOTED` I faced with a problem, that I actually can't detect, that cursor is at `ID_QUOTED` token because `TCompletionInput::Text` it was cut until the `TCompletionInput::CursorPosition`, therefore at input ``` SELECT * FROM `#` ``` prefix was ``` SELECT * FROM `# ``` and then lexer failed. While we actually want tokenize the whole current statement, `C3` still needs to receive a prefix as input. I tried to tokenize the whole statement and then on input `SELECT Optional<#>` got nothing because `<>` is solid token in the `SQL`. The only way to fix it I found is to cut a query to prefix until the cursor position. BTW, current implementation is not so efficient as we tokenize the input multiple times. Especially `SplitQueryToStatemnts` seems heavy. In future we anyway will parse the whole input so will need to design APIs to receive ready token streams to do statements splitting, for example, just not to do the work twice. ![image](https://github.com/user-attachments/assets/114804d3-f311-4a46-be84-8ed4650bc9dd) So I introduce you the following changes - [x] Select the whole current statement, not just prefix. - [x] Find the token at caret and output no candidates when caret is at `STRING_VALUE`, `DIGIGTS` and so on. - [x] Change `C3` wrapper interface to take `TCompletionInput` to hide an implementation detail that it runs on cut prefix. - [x] `#` annotated queries in unit tests. - [x] Detect `CaretTokenPosition` -- if is it enclosed with a token or between two. - [x] Ensure that `maxErrors` in `ILexer::Tokenize` is positive. Just a tiny bugfix. --- - Related to https://github.com/ytsaurus/ytsaurus/pull/1209 - 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/1225 commit_hash:a434b9888ec8a7356247d63d9f1420e256ae4fca
* YQL-19747 Improve yql_complete tool and add input validationvityaman2025-04-081-1/+3
| | | | | | | | | No description --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1185 commit_hash:1def5874ff6a9a5b3dcdd0ad285d2e64b16c9306
* Intermediate changesrobot-piglet2025-04-071-0/+4
| | | | commit_hash:6768768ea3a3962231d3fabdffb2ce0db44e9347
* YQL-19716: Fix Block Readermrlolthe1st2025-03-213-4/+10
| | | | commit_hash:61891dc030f4c526542b5e7e070d1660880e6c08
* Intermediate changesrobot-piglet2025-03-191-0/+1
| | | | commit_hash:11711810dda55920d911ae6c20fcfcb881340f61
* YQL-19616 Implement ILexer via antlr_astVictor Smirnov2025-03-1916-183/+268
| | | | | | | | | | | | | - [x] Added `antlr_ast/antlr4` module and moved `TLexerTokensCollector4` there from `proto_ast/antlr4`. - [x] Moved stuff around back and forth. Ready for a review. --- Co-authored-by: vityaman [vityaman.dev@yandex.ru] Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1128 commit_hash:e08785c3408ef813505bdc7511560e9536f4ab79
* Intermediate changesrobot-piglet2025-03-061-1/+1
| | | | commit_hash:068e314c92cd0a5aba206efe9bd514b4ad7c4b41
* Added DeserializeAndUpdateState methods. This method is intended to merge ↵mfilitov2025-03-051-0/+6
| | | | | | | states from spilling When reading the state after spilling, the state for one key can be read several times, since after saving to disk we start aggregating the state again. Therefore, in addition to DeserializeState, DeserializeAndUpdate is also needed in the aggregators, which will merge all states with one key, read from disk. commit_hash:fbc8b87041b31bac3f6859ea586f172bfaefdf31
* YQL Reduce ANTLR Protobuf templatevityaman2025-03-051-68/+12
| | | | | | | | | No description --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1110 commit_hash:d15d6030e1c1c2d19cc96fd9c2cbb110ce8b730f
* Intermediate changesrobot-piglet2025-02-289-0/+1631
| | | | commit_hash:5fc851d2c72810067fe0d407b66535b17de63129
* Added serialization and deserialization functions to block statemfilitov2025-02-191-8/+20
| | | | | Added serde for state in block aggregation for spilling. commit_hash:44233e34f49c9722849a69ad7c49a2b87e65c75d
* YQL-19594 Explicit lexers & parsersvvvv2025-02-192-16/+7
| | | | commit_hash:6be543b7c5bff6ee474ee606c920197fb2569767
* Introduced lexer & parser interfacesvvvv2025-02-184-1/+81
| | | | commit_hash:fee365c90a176dd33a967cee20994b21d530080c
* Intermediate changesrobot-piglet2025-02-181-1/+1
| | | | commit_hash:0e8fb6a0fa97b88fe34ef4f7abbbae4894668df5
* Introduced SQL ITranslatorvvvv2025-02-141-0/+3
| | | | commit_hash:f58b2fb436f14fc4a11ce2e315f10d71e6d1ec77
* Intermediate changesrobot-piglet2025-02-051-0/+1
| | | | commit_hash:343920714fe3ac841f2246c53b79d081abb277fe
* Intermediate changesrobot-piglet2025-01-292-3/+3
| | | | commit_hash:a9a86ead632b0451a427621ea384bd732d3653a3
* Microfix PG column convertermrlolthe1st2024-12-261-1/+1
| | | | | Microfix PG column converter commit_hash:264a3dededed4a9e425359ed2bb22e5d14f32b00
* YQL-18548: BlockReader PG types + refactormrlolthe1st2024-12-253-8/+556
| | | | | | | fix fix commit_hash:09713e813e389b07077111daed2ec31b59047bca
* Added perf logging for module resolver & pg catalog, optimized minirun startupvvvv2024-12-232-0/+4
| | | | commit_hash:237bc86990bc2c17750829f6259280927edeb282
* Hide PG bitcode by defaultvvvv2024-12-193-9/+21
| | | | | init commit_hash:24879183e782ed24d1650f68799007d7230c3c9d
* Relocate yqlrun and mrjobaneporada2024-12-041-1/+1
| | | | | Relocate yqlrun and mrjob commit_hash:642b0fa4afb6dfa2ce51bccd0f7e28003437d796
* YQL-19206 Move contrib/ydb/library/yql/tests/common -> ↵udovichenko-r2024-11-181-1/+1
| | | | | | yql/essentials/tests/common commit_hash:b0bab3353351a5c79f0a64237b103ddba0004fd7
* YQL-19206 Move contrib/ydb/library/yql/cfg -> yql/essentials/cfgudovichenko-r2024-11-182-2/+2
| | | | commit_hash:22adeac140825b580d7674c61994c0404ccf2762
* Apply GH commitsudovichenko-r2024-11-122-9/+18
| | | | | | | | | | | | | Apply GH: Extract prefix and entries in backup-related sql (#10807) Apply GH: Fix syntax for Column Family (#10781) Apply GH: Case-insensitive mode for searching modules and functions (#10842) Apply GH: Fixed i/o for pg_proc (#10914) Apply GH: An option to render SQL transalation with Seq! (#11015) commit_hash:d2d2fcdef2bbd0434236aef325aa071c7e39c526
* Merge PR #10831, #11068, #11075, #11152aneporada2024-11-123-0/+22
| | | | | | | | | | | #11152 - Allow to choose normal or aggreation PG function #11075 - Handle invalid base #11068 - Allow more postgis functions #10831 - Views: if exists / if not exists for DDL commit_hash:0ebf35e45ac6de147c9000440ca25237db061d2e
* Merge GH PR #9404aneporada2024-11-124-3/+10
| | | | commit_hash:d780798556aedbe2be898d69185380f2ecb95f9c
* less ydb deps or disable for OSS for nowvvvv2024-11-081-0/+5
| | | | commit_hash:cba3283f48e43daee374c408d91d1fed33861da4
* Move yql/udfs/common/ to /yql/essentials YQL-19206imunkin2024-11-081-1/+1
| | | | | | | | | | Except the following directories: * clickhouse/client * datetime * knn * roaring commit_hash:c7da95636144d28db109d6b17ddc762e9bacb59f
* Moved other yql/essentials libs YQL-19206vvvv2024-11-072039-2/+1319870
| | | | | init commit_hash:7d4c435602078407bbf20dd3c32f9c90d2bbcbc0
* Moved yql/minikql YQL-19206vvvv2024-11-071-1/+1
| | | | | | | init [nodiff:caesar] commit_hash:d1182ef7d430ccf7e4d37ed933c7126d7bd5d6e4
* Prepare move yql/minikql YQL-19206vvvv2024-11-0717-0/+631
| | | | | types,jsonpath,dom commit_hash:6b54be5968b6a30b6d97fe3a1611574bcefc749e
* Moved yql/parser (w/o pg_wrapper) & yql/protos YQL-19206vvvv2024-11-0383-0/+41151
init commit_hash:71603ddfc208bf4ab1691d886ac35f22c107e3ee