[summary]
reference: https://dev.mysql.com/doc/refman/5.7/en/create-table.html
1. complete more columnn options, add `STORAGE DEFAULT` which is not descriped on official 5.7 document, but actually mysql support it.
see: https://github.com/mysql/mysql-server/blob/5.7/sql/sql_yacc.yy#L6953
and extra option suppored by mysql: `ON UPDATE ...`
see: https://github.com/mysql/mysql-server/blob/5.7/sql/sql_yacc.yy#L6888
```
column_definition:
data_type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
[COLLATE collation_name]
[COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}]
[STORAGE {DISK | MEMORY}]
[ON UPDATE NOW_SYM]
| data_type
[COLLATE collation_name]
[VIRTUAL | STORED] [NOT NULL | NULL]
[UNIQUE [KEY]] [[PRIMARY] KEY]
[COMMENT 'string']
```
Currently we do not support column option ` [reference_definition]`, ` [GENERATED ALWAYS] AS (expr)`
also : some `DEFAULT now_or_signed_literal` and `SERIAL_SYM DEFAULT VALUE_SYM` options not in 5.7 document, but acctually mysql support them.
see:
https://github.com/mysql/mysql-server/blob/5.7/sql/sql_yacc.yy#L6897
https://github.com/mysql/mysql-server/blob/5.7/sql/sql_yacc.yy#L6887
2. complete more table options.
```
table_option:
AUTO_INCREMENT [=] value
| AVG_ROW_LENGTH [=] value
| [DEFAULT] CHARACTER SET [=] charset_name
| CHECKSUM [=] {0 | 1}
| [DEFAULT] COLLATE [=] collation_name
| COMMENT [=] 'string'
| COMPRESSION [=] {'ZLIB' | 'LZ4' | 'NONE'}
| CONNECTION [=] 'connect_string'
| {DATA | INDEX} DIRECTORY [=] 'absolute path to directory'
| DELAY_KEY_WRITE [=] {0 | 1}
| ENCRYPTION [=] {'Y' | 'N'}
| ENGINE [=] engine_name
| INSERT_METHOD [=] { NO | FIRST | LAST }
| KEY_BLOCK_SIZE [=] value
| MAX_ROWS [=] value
| MIN_ROWS [=] value
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] 'string'
| ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT | TOKUDB...}
| STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1}
| STATS_PERSISTENT [=] {DEFAULT | 0 | 1}
| STATS_SAMPLE_PAGES [=] value
| TABLESPACE tablespace_name [STORAGE {DISK | MEMORY}]
```
Currently we do not support table options:
`UNION [=] (tbl_name[,tbl_name]...)`
[test case]
sqlparser/parse_test.go
sqlparser/ddl_test.go
proxy/ddl_test.go
[patch codecov]
N/A