Open
Description
TL;DR; — I want to stop Parser
from referring to specific dialects, and instead consult the dialect about specific behaviour.
In particular, use of dialect_of
and custom dialect behaviour in Parser
should be removed
Abstract reasons to do this:
- it's very esoteric in Rust, I've never seen another library use this approach, It's like reading (bad) python, in Rust
- it's poor separation of concerns — the Parser should concentrate on parsing SQL, and defer to the dialect about how to behave in some scenarios, rather than holding information about how mysql differs from Snowflake etc.
Concrete reasons to do this:
- I want to use "from first" syntax (
FROM
first inSELECT
statements #1400) with otherwise postgres syntax — currently dialects can't opt into certain behaviour because the parser is checking for a specific dialect, not for a given behaviour
I've already discussed this with @alamb, I'll try to do this in multiple PRs, to make it easier to review.
Metadata
Metadata
Assignees
Labels
No labels