Skip to content

feat: support MySQL 8.0 DEFAULT (expr) in column options (jinjiang backport) - #25

Open
LordofAvernus wants to merge 1 commit into
sjjian:release-4.0.2from
LordofAvernus:backport/jinjiang-default-expr-default
Open

LordofAvernus wants to merge 1 commit into
sjjian:release-4.0.2from
LordofAvernus:backport/jinjiang-default-expr-default

Conversation

@LordofAvernus

Copy link
Copy Markdown

Summary

  • Backport MySQL 8.0.13+ column-option expression defaults onto the jinjiang pin (688ad439ef31 / 20240305).
  • Extend DefaultValueExpr with '(' Expression ')' and keep parentheses via ParenthesesExpr so Restore emits DEFAULT (expr).
  • Covers DEFAULT (JSON_ARRAY()) / JSON_OBJECT() / CURRENT_DATE / ((1+2)) / UUID(), plus ALTER ADD/MODIFY column options (same ColumnOption path).

Test plan

  • go test -run TestDefaultExprColumnOption (included)
  • Review yacc change in parser.y (DefaultValueExpr)
  • Confirm existing DEFAULT CURRENT_TIMESTAMP / signed literal / NEXT VALUE FOR still parse

Made with Cursor

Backport column-option expression defaults on the 20240305 pin so
DEFAULT (JSON_ARRAY()) / UUID() / arithmetic forms parse and restore.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant