| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | YQL-20631: Support RECURSIVE WITH CTE on YqlSelect | vitya-smirnov | 11 days | 1 | -7/+15 |
| | | | | | | | | | | | Implemented a RECURSIVE WITH CTE translation for YqlSelect. It relies on YqlSelf callable. As this callable binds to enclosing YqlSelect, the diagnostic that subquery can't reference an enclosing RECURSIVE WITH CTE was added, it is better, that an existing for pgSQL, where just "table not found" is emitted. The core idea under RECURSIVE handling is that a "not ready" CTE entry is added to a namespace (with a `nullptr` node), so it can be recognized. Checked some interesting test cases and wrote TODOs. commit_hash:65b8646e0615ae070b04822ce7af24245c203bbe | ||||
| * | YQL-20631: Support simple CTEs on YqlSelect | vitya-smirnov | 12 days | 1 | -0/+65 |
| The first iteration on WITH CTE support. Only simple CTEs are supported. Properties: 1. Redefinition is forbidden. 2. Shadowing is supported. 3. Nested WITH CTEs are supported. Following features are not yet implemented: 1. Column names specification. There is an assertion failure at core because of an absent column order when translating it like for the `PgSelect`. 2. `RECURSIVE` is postponed. There a more sophisticated translation with `YqlSelf` callable is required. Also there was a potential defect because of an empty `Id` result not expected. commit_hash:759676d8a9d369f7eedd9b87f79455b2f8a9fcff | |||||
