jonahgao commented on code in PR #13605: URL: https://github.com/apache/datafusion/pull/13605#discussion_r1863695929
########## datafusion/sql/src/planner.rs: ########## @@ -622,24 +622,41 @@ pub fn object_name_to_table_reference( idents_to_table_reference(idents, enable_normalization) } +struct IdentTaker(Vec<Ident>); +/// Take the next identifier from the back of idents, panic'ing if +/// there are none left +impl IdentTaker { + fn take(&mut self, enable_normalization: bool) -> String { + let ident = self.0.pop().expect("no more identifiers"); + IdentNormalizer::new(enable_normalization).normalize(ident) Review Comment: Not related to the current PR, maybe we can move `IdentNormalizer` into `IdentTaker` to simplify `take()` and avoid creating normalizer every time. ########## datafusion/sqllogictest/test_files/errors.slt: ########## @@ -70,7 +70,7 @@ SELECT COUNT(*) FROM nonexistentschema.aggregate_test_100 statement error Error during planning: table 'nonexistentcatalog\.public\.aggregate_test_100' not found SELECT COUNT(*) FROM nonexistentcatalog.public.aggregate_test_100 -statement error Error during planning: Unsupported compound identifier '\[Ident \{ value: "way", quote_style: None \}, Ident \{ value: "too", quote_style: None \}, Ident \{ value: "many", quote_style: None \}, Ident \{ value: "namespaces", quote_style: None \}, Ident \{ value: "as", quote_style: None \}, Ident \{ value: "ident", quote_style: None \}, Ident \{ value: "prefixes", quote_style: None \}, Ident \{ value: "aggregate_test_100", quote_style: None \}\]' +statement error DataFusion error: Error during planning: Unsupported compound identifier 'way\.too\.many\.namespaces\.as\.ident\.prefixes\.aggregate_test_100'\. Expected 1, 2 or 3 parts, got 8 Review Comment: 👍 -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org