LucaCappelletti94 commented on PR #2418: URL: https://github.com/apache/datafusion-sqlparser-rs/pull/2418#issuecomment-5844482422
I have asked twice for this to be fuzzed, [on August 4](https://github.com/apache/datafusion-sqlparser-rs/pull/2418#discussion_r3709927676) and on [September 3](https://github.com/apache/datafusion-sqlparser-rs/pull/2418#pullrequestreview-5103686516). Neither request was followed. After three iterations the PR still breaks on inputs a round-trip fuzzer finds in seconds. Each of these fails at `b1eb8c5`. - `ms().verified_stmt(r#"SELECT ["a]]b"]"#)` renders `SELECT ["a]b"]`, which does not parse. [This is the repro from the last review, still open. `SELECT ["]]"]` fails the same way.](https://github.com/apache/datafusion-sqlparser-rs/pull/2418#discussion_r3925979382) - The same test asserts SQLite round-trips `[a]]b]`, but SQLite has no `]]` escape. `sqlite3` rejects `select 1 as [a]]b];` with `unrecognized token: "]"`. - `redshift().verified_stmt(r#"SELECT 1 AS ["a""b"] FROM a"#)` renders `["a"b"]`, which does not parse. The verbatim branch in `fmt_ident` emits it, and the fix you described yourself (store Redshift `["foo"]` as `foo` quoted with `"`) removes that branch and fixes both this and the first bullet. Run `fuzz_parse_roundtrip` from `docs/fuzzing.md`, seeded with bracket identifiers, and push again only when it runs clean. I will not review another iteration that has not been fuzzed and **expecially that has not addressed the bugs reported at the previous review round**. Hunting these cases down is the author's job. I am marking this PR as draft as it is clearly not ready for review at this time. -- 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]
