Justin Swett created CALCITE-6795: ------------------------------------- Summary: Correlated sub-query is not resolving correlation varables. Key: CALCITE-6795 URL: https://issues.apache.org/jira/browse/CALCITE-6795 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.38.0 Reporter: Justin Swett
The following test will result in a NPE "variable $cor0 is not found". ``` @Test void testCSS() { String query = "SELECT p.\"product_name\", SUM(s.\"store_sales\"), " + "(SELECT MAX(s2.\"store_sales\") FROM \"sales_fact_1997\" s2 " + "WHERE s2.\"product_id\" = p.\"product_id\") AS max_sold_for_product " + "FROM \"product\" p " + "JOIN \"sales_fact_1997\" s ON p.\"product_id\" = s.\"product_id\" " + "GROUP BY p.\"product_name\", p.\"product_id\""; String expected = "SELECT \"product\".\"product_name\", SUM(\"sales_fact_1997\".\"store_sales\"), (((SELECT MAX(\"store_sales\")\n" + "FROM \"foodmart\".\"sales_fact_1997\"\n" + "WHERE \"product_id\" = \"sales_fact_19970\".\"time_id\"))) AS \"MAX_SOLD_FOR_PRODUCT\"\n" + "FROM \"foodmart\".\"product\"\n" + "INNER JOIN \"foodmart\".\"sales_fact_1997\" ON \"product\".\"product_id\" = \"sales_fact_1997\".\"product_id\"\n" + "GROUP BY \"product\".\"product_name\", \"product\".\"product_id\""; sql(query).withConfig(c -> c.withExpand(false)).ok(expected); } ``` At first glance, the issue seems to be related to whether or not the correlation appears to be in scope. Stepping through `SqlToRelConverter.getCorrelationUse` I noticed that correlInCurrentScope is false and if I set value to true then the test passes. -- This message was sent by Atlassian Jira (v8.20.10#820010)