Support CREATE TABLE ON UPDATE <expr> Function (#685)

* feat : OnUpdate Function Implement

* feat : add GenericDialect Options
This commit is contained in:
김진성 Kim Jinsung 2022-12-28 22:59:09 +09:00 committed by GitHub
parent b1a000f149
commit 3e990466f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 8 deletions

View file

@ -1031,7 +1031,7 @@ fn parse_kill() {
#[test]
fn parse_table_colum_option_on_update() {
let sql1 = "CREATE TABLE foo (`modification_time` DATETIME ON UPDATE)";
let sql1 = "CREATE TABLE foo (`modification_time` DATETIME ON UPDATE CURRENT_TIMESTAMP())";
match mysql().verified_stmt(sql1) {
Statement::CreateTable { name, columns, .. } => {
assert_eq!(name.to_string(), "foo");
@ -1042,9 +1042,13 @@ fn parse_table_colum_option_on_update() {
collation: None,
options: vec![ColumnOptionDef {
name: None,
option: ColumnOption::DialectSpecific(vec![Token::make_keyword(
"ON UPDATE"
)]),
option: ColumnOption::OnUpdate(Expr::Function(Function {
name: ObjectName(vec![Ident::new("CURRENT_TIMESTAMP")]),
args: vec![],
over: None,
distinct: false,
special: false,
})),
},],
}],
columns