2
2
3
3
/**
4
4
* Parses an alter operation.
5
- *
6
- * @package SqlParser
7
- * @subpackage Components
8
5
*/
6
+
9
7
namespace SqlParser \Components ;
10
8
11
9
use SqlParser \Component ;
17
15
* Parses an alter operation.
18
16
*
19
17
* @category Components
20
- * @package SqlParser
21
- * @subpackage Components
18
+ *
22
19
* @license https://www.gnu.org/licenses/gpl-2.0.txt GPL-2.0+
23
20
*/
24
21
class AlterOperation extends Component
25
22
{
26
-
27
23
/**
28
- * All database options
24
+ * All database options.
29
25
*
30
26
* @var array
31
27
*/
32
28
public static $ DB_OPTIONS = array (
33
- 'CHARACTER SET ' => array (1 , 'var ' ),
34
- 'CHARSET ' => array (1 , 'var ' ),
35
- 'DEFAULT CHARACTER SET ' => array (1 , 'var ' ),
36
- 'DEFAULT CHARSET ' => array (1 , 'var ' ),
37
- 'UPGRADE ' => array (1 , 'var ' ),
38
- 'COLLATE ' => array (2 , 'var ' ),
39
- 'DEFAULT COLLATE ' => array (2 , 'var ' ),
29
+ 'CHARACTER SET ' => array (1 , 'var ' ),
30
+ 'CHARSET ' => array (1 , 'var ' ),
31
+ 'DEFAULT CHARACTER SET ' => array (1 , 'var ' ),
32
+ 'DEFAULT CHARSET ' => array (1 , 'var ' ),
33
+ 'UPGRADE ' => array (1 , 'var ' ),
34
+ 'COLLATE ' => array (2 , 'var ' ),
35
+ 'DEFAULT COLLATE ' => array (2 , 'var ' ),
40
36
);
41
37
42
38
/**
43
- * All table options
39
+ * All table options.
44
40
*
45
41
* @var array
46
42
*/
47
43
public static $ TABLE_OPTIONS = array (
48
- 'ENGINE ' => array (1 , 'var= ' ),
49
- 'AUTO_INCREMENT ' => array (1 , 'var= ' ),
50
- 'AVG_ROW_LENGTH ' => array (1 , 'var ' ),
51
- 'MAX_ROWS ' => array (1 , 'var ' ),
52
- 'ROW_FORMAT ' => array (1 , 'var ' ),
53
- 'COMMENT ' => array (1 , 'var ' ),
54
- 'ADD ' => 1 ,
55
- 'ALTER ' => 1 ,
56
- 'ANALYZE ' => 1 ,
57
- 'CHANGE ' => 1 ,
58
- 'CHECK ' => 1 ,
59
- 'COALESCE ' => 1 ,
60
- 'CONVERT ' => 1 ,
61
- 'DISABLE ' => 1 ,
62
- 'DISCARD ' => 1 ,
63
- 'DROP ' => 1 ,
64
- 'ENABLE ' => 1 ,
65
- 'IMPORT ' => 1 ,
66
- 'MODIFY ' => 1 ,
67
- 'OPTIMIZE ' => 1 ,
68
- 'ORDER ' => 1 ,
69
- 'PARTITION ' => 1 ,
70
- 'REBUILD ' => 1 ,
71
- 'REMOVE ' => 1 ,
72
- 'RENAME ' => 1 ,
73
- 'REORGANIZE ' => 1 ,
74
- 'REPAIR ' => 1 ,
75
- 'UPGRADE ' => 1 ,
44
+ 'ENGINE ' => array (1 , 'var= ' ),
45
+ 'AUTO_INCREMENT ' => array (1 , 'var= ' ),
46
+ 'AVG_ROW_LENGTH ' => array (1 , 'var ' ),
47
+ 'MAX_ROWS ' => array (1 , 'var ' ),
48
+ 'ROW_FORMAT ' => array (1 , 'var ' ),
49
+ 'COMMENT ' => array (1 , 'var ' ),
50
+ 'ADD ' => 1 ,
51
+ 'ALTER ' => 1 ,
52
+ 'ANALYZE ' => 1 ,
53
+ 'CHANGE ' => 1 ,
54
+ 'CHECK ' => 1 ,
55
+ 'COALESCE ' => 1 ,
56
+ 'CONVERT ' => 1 ,
57
+ 'DISABLE ' => 1 ,
58
+ 'DISCARD ' => 1 ,
59
+ 'DROP ' => 1 ,
60
+ 'ENABLE ' => 1 ,
61
+ 'IMPORT ' => 1 ,
62
+ 'MODIFY ' => 1 ,
63
+ 'OPTIMIZE ' => 1 ,
64
+ 'ORDER ' => 1 ,
65
+ 'PARTITION ' => 1 ,
66
+ 'REBUILD ' => 1 ,
67
+ 'REMOVE ' => 1 ,
68
+ 'RENAME ' => 1 ,
69
+ 'REORGANIZE ' => 1 ,
70
+ 'REPAIR ' => 1 ,
71
+ 'UPGRADE ' => 1 ,
76
72
77
- 'COLUMN ' => 2 ,
78
- 'CONSTRAINT ' => 2 ,
79
- 'DEFAULT ' => 2 ,
80
- 'TO ' => 2 ,
81
- 'BY ' => 2 ,
82
- 'FOREIGN ' => 2 ,
83
- 'FULLTEXT ' => 2 ,
84
- 'KEY ' => 2 ,
85
- 'KEYS ' => 2 ,
86
- 'PARTITIONING ' => 2 ,
87
- 'PRIMARY KEY ' => 2 ,
88
- 'SPATIAL ' => 2 ,
89
- 'TABLESPACE ' => 2 ,
90
- 'INDEX ' => 2 ,
73
+ 'COLUMN ' => 2 ,
74
+ 'CONSTRAINT ' => 2 ,
75
+ 'DEFAULT ' => 2 ,
76
+ 'TO ' => 2 ,
77
+ 'BY ' => 2 ,
78
+ 'FOREIGN ' => 2 ,
79
+ 'FULLTEXT ' => 2 ,
80
+ 'KEY ' => 2 ,
81
+ 'KEYS ' => 2 ,
82
+ 'PARTITIONING ' => 2 ,
83
+ 'PRIMARY KEY ' => 2 ,
84
+ 'SPATIAL ' => 2 ,
85
+ 'TABLESPACE ' => 2 ,
86
+ 'INDEX ' => 2 ,
91
87
);
92
88
93
89
/**
94
- * All view options
90
+ * All view options.
95
91
*
96
92
* @var array
97
93
*/
98
94
public static $ VIEW_OPTIONS = array (
99
- 'AS ' => 1 ,
95
+ 'AS ' => 1 ,
100
96
);
101
97
102
98
/**
@@ -121,20 +117,20 @@ class AlterOperation extends Component
121
117
public $ unknown = array ();
122
118
123
119
/**
124
- * @param Parser $parser The parser that serves as context.
125
- * @param TokensList $list The list of tokens that are being parsed.
126
- * @param array $options Parameters for parsing.
120
+ * @param Parser $parser the parser that serves as context
121
+ * @param TokensList $list the list of tokens that are being parsed
122
+ * @param array $options parameters for parsing
127
123
*
128
124
* @return AlterOperation
129
125
*/
130
126
public static function parse (Parser $ parser , TokensList $ list , array $ options = array ())
131
127
{
132
- $ ret = new AlterOperation ();
128
+ $ ret = new self ();
133
129
134
130
/**
135
131
* Counts brackets.
136
132
*
137
- * @var int $brackets
133
+ * @var int
138
134
*/
139
135
$ brackets = 0 ;
140
136
@@ -149,15 +145,15 @@ public static function parse(Parser $parser, TokensList $list, array $options =
149
145
*
150
146
* 2 -------------------------[ , ]-----------------------> 0
151
147
*
152
- * @var int $state
148
+ * @var int
153
149
*/
154
150
$ state = 0 ;
155
151
156
152
for (; $ list ->idx < $ list ->count ; ++$ list ->idx ) {
157
153
/**
158
154
* Token parsed at this moment.
159
155
*
160
- * @var Token $token
156
+ * @var Token
161
157
*/
162
158
$ token = $ list ->tokens [$ list ->idx ];
163
159
@@ -223,7 +219,7 @@ public static function parse(Parser $parser, TokensList $list, array $options =
223
219
// We have reached the end of ALTER operation and suddenly found
224
220
// a start to new statement, but have not find a delimiter between them
225
221
226
- if (! ($ token ->value == 'SET ' && $ list ->tokens [$ list ->idx - 1 ]->value == 'CHARACTER ' )) {
222
+ if (!($ token ->value == 'SET ' && $ list ->tokens [$ list ->idx - 1 ]->value == 'CHARACTER ' )) {
227
223
$ parser ->error (
228
224
__ ('A new statement was found, but no delimiter between it and the previous one. ' ),
229
225
$ token
@@ -248,8 +244,8 @@ public static function parse(Parser $parser, TokensList $list, array $options =
248
244
}
249
245
250
246
/**
251
- * @param AlterOperation $component The component to be built.
252
- * @param array $options Parameters for building.
247
+ * @param AlterOperation $component the component to be built
248
+ * @param array $options parameters for building
253
249
*
254
250
* @return string
255
251
*/
@@ -260,6 +256,7 @@ public static function build($component, array $options = array())
260
256
$ ret .= $ component ->field . ' ' ;
261
257
}
262
258
$ ret .= TokensList::build ($ component ->unknown );
259
+
263
260
return $ ret ;
264
261
}
265
262
}
0 commit comments