From: Eric Masseran Date: Fri, 16 Jul 2021 16:48:25 +0000 (+0200) Subject: Add cross reference in other way [failing] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1bad05d7751d93808be5e87b3337c32f23ddc1d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Add cross reference in other way [failing] --- 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