Add PostgreSQL specfic "CREATE TYPE t AS ENUM (...)" support. #1460
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See: https://www.postgresql.org/docs/current/sql-createtype.html
I implemented this as a separate
Statement::CreateTypeAsEnum { name, labels }
so it wouldn't be as invasive to the existingStatement::CreateType
(which I would imagine helps forwards/backwards compatibility for the crate's users).I used the
PostgreSqlDialect
's comment as a blueprint but that means that the generic dialect doesn't get this feature (unless I'm missing something). I didn't seeparse_statement()
implemented inGenericDialect
though I suppose it could be (and call out to other dialects'parse_statement()
s). I didn't want to set that precedent without asking.