Jefffrey commented on code in PR #19862: URL: https://github.com/apache/datafusion/pull/19862#discussion_r2702537123
########## datafusion/sqllogictest/test_files/cte.slt: ########## @@ -42,6 +42,63 @@ physical_plan statement error DataFusion error: Error during planning: WITH query name "a" specified more than once WITH a AS (SELECT 1), a AS (SELECT 2) SELECT * FROM a; +statement ok +CREATE TABLE orders AS VALUES (1), (2); + +########## +## CTE Reference Resolution +########## + +# These tests exercise CTE reference resolution with and without identifier +# normalization. The session is configured with a strict catalog/schema provider +# (see `datafusion/sqllogictest/src/test_context.rs`) that only provides the +# `orders` table and panics on any unexpected table lookup. +# +# This makes it observable if DataFusion incorrectly treats a CTE reference as a +# catalog lookup. +# +# Refs: https://github.com/apache/datafusion/issues/18932 +# +# NOTE: This test relies on a strict catalog/schema provider registered in +# `datafusion/sqllogictest/src/test_context.rs` that provides only the `orders` +# table and panics on unexpected lookups. + +statement ok +set datafusion.sql_parser.enable_ident_normalization = true; + +query I +with barbaz as (select * from orders) select * from "barbaz"; +---- +1 +2 + +query I +with BarBaz as (select * from orders) select * from "barbaz"; +---- +1 +2 + +query I +with barbaz as (select * from orders) select * from barbaz; +---- +1 +2 + +statement ok +set datafusion.sql_parser.enable_ident_normalization = false; + +query I +with barbaz as (select * from orders) select * from "barbaz"; +---- +1 +2 + +query I +with barbaz as (select * from orders) select * from barbaz; +---- +1 +2 + Review Comment: Would be good to ensure we cleanup the `orders` table to ensure this section of tests are isolated -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
