@@ -26,19 +26,31 @@ class AlterOperation extends Component
2626{
2727
2828 /**
29- * All alter operations.
30- *
29+ * All database options
30+ *
3131 * @var array
3232 */
33- public static $ OPTIONS = array (
33+ public static $ DB_OPTIONS = array (
34+ 'CHARACTER SET ' => array (1 , 'var ' ),
35+ 'CHARSET ' => array (1 , 'var ' ),
36+ 'DEFAULT CHARACTER SET ' => array (1 , 'var ' ),
37+ 'DEFAULT CHARSET ' => array (1 , 'var ' ),
38+ 'UPGRADE ' => array (1 , 'var ' ),
39+ 'COLLATE ' => array (2 , 'var ' ),
40+ 'DEFAULT COLLATE ' => array (2 , 'var ' ),
41+ );
3442
35- // table_options
43+ /**
44+ * All table options
45+ *
46+ * @var array
47+ */
48+ public static $ TABLE_OPTIONS = array (
3649 'ENGINE ' => array (1 , 'var= ' ),
3750 'AUTO_INCREMENT ' => array (1 , 'var= ' ),
3851 'AVG_ROW_LENGTH ' => array (1 , 'var ' ),
3952 'MAX_ROWS ' => array (1 , 'var ' ),
4053 'ROW_FORMAT ' => array (1 , 'var ' ),
41-
4254 'ADD ' => 1 ,
4355 'ALTER ' => 1 ,
4456 'ANALYZE ' => 1 ,
@@ -60,6 +72,7 @@ class AlterOperation extends Component
6072 'RENAME ' => 1 ,
6173 'REORGANIZE ' => 1 ,
6274 'REPAIR ' => 1 ,
75+ 'UPGRADE ' => 1 ,
6376
6477 'COLUMN ' => 2 ,
6578 'CONSTRAINT ' => 2 ,
@@ -75,11 +88,15 @@ class AlterOperation extends Component
7588 'SPATIAL ' => 2 ,
7689 'TABLESPACE ' => 2 ,
7790 'INDEX ' => 2 ,
91+ );
7892
79- 'DEFAULT CHARACTER SET ' => array (3 , 'var ' ),
80- 'DEFAULT CHARSET ' => array (3 , 'var ' ),
81-
82- 'COLLATE ' => array (4 , 'var ' ),
93+ /**
94+ * All view options
95+ *
96+ * @var array
97+ */
98+ public static $ VIEW_OPTIONS = array (
99+ 'AS ' => 1 ,
83100 );
84101
85102 /**
@@ -165,7 +182,7 @@ public static function parse(Parser $parser, TokensList $list, array $options =
165182 }
166183
167184 if ($ state === 0 ) {
168- $ ret ->options = OptionsArray::parse ($ parser , $ list , static :: $ OPTIONS );
185+ $ ret ->options = OptionsArray::parse ($ parser , $ list , $ options );
169186 $ state = 1 ;
170187 } elseif ($ state === 1 ) {
171188 $ ret ->field = Expression::parse (
0 commit comments