From b1bad05d7751d93808be5e87b3337c32f23ddc1d Mon Sep 17 00:00:00 2001 From: Eric Masseran Date: Fri, 16 Jul 2021 18:48:25 +0200 Subject: [PATCH] Add cross reference in other way [failing] --- test/sql/test_cte.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/sql/test_cte.py b/test/sql/test_cte.py index a20d9cf62e..b53a5f014b 100644 --- a/test/sql/test_cte.py +++ b/test/sql/test_cte.py @@ -1492,6 +1492,23 @@ class NestingCTETest(fixtures.TestBase, AssertsCompiledSQL): ") SELECT cte.inner_cte_1, cte.inner_cte_2 FROM cte", ) + # 2 next 1 + + nesting_cte_2_1 = select([select_2_cte, select_1_cte]).cte("cte") + stmt_2_1 = select([nesting_cte_2_1]) + self.assert_compile( + stmt_2_1, + # FIXME: nesting_1 is generated 2 times + "WITH cte AS (" + "WITH nesting_1 AS (SELECT %(param_1)s AS inner_cte_1)" + ", nesting_2 AS (SELECT nesting_1.inner_cte_1 + %(inner_cte_1_1)s" + " AS inner_cte_2 FROM nesting_1)" + " SELECT nesting_2.inner_cte_2 AS inner_cte_2" + ", nesting_1.inner_cte_1 AS inner_cte_1" + " FROM nesting_2, nesting_1" + ") SELECT cte.inner_cte_2, cte.inner_cte_1 FROM cte", + ) + def test_nesting_cte_in_nesting_cte_in_cte(self): select_1_cte = select([literal(1).label("inner_cte")]).cte( "nesting_1", nesting=True -- 2.47.3