Support COLLATION keywork on CREATE TABLE (#424)

* support table definition's collate

* add table collate test
This commit is contained in:
Wataru Kurashima 2022-03-01 04:04:47 +09:00 committed by GitHub
parent b5f37118f1
commit 2ebe18a94e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 0 deletions

View file

@ -1560,6 +1560,7 @@ impl<'a> Parser<'a> {
like: None,
default_charset: None,
engine: None,
collation: None,
})
}
@ -1754,6 +1755,16 @@ impl<'a> Parser<'a> {
None
};
let collation = if self.parse_keywords(&[Keyword::COLLATE]) {
self.expect_token(&Token::Eq)?;
match self.next_token() {
Token::Word(w) => Some(w.value),
unexpected => self.expected("identifier", unexpected)?,
}
} else {
None
};
Ok(Statement::CreateTable {
name: table_name,
temporary,
@ -1773,6 +1784,7 @@ impl<'a> Parser<'a> {
like,
engine,
default_charset,
collation,
})
}