Code Duplication    Length = 15-17 lines in 3 locations

src/Components/PartitionDefinition.php 1 location

@@ 164-178 (lines=15) @@
161
            } elseif ($state === 3) {
162
                $ret->type = $token->value;
163
                $state = 4;
164
            } elseif ($state === 4) {
165
                if ($token->value === 'MAXVALUE') {
166
                    $ret->expr = $token->value;
167
                } else {
168
                    $ret->expr = Expression::parse(
169
                        $parser,
170
                        $list,
171
                        array(
172
                            'parenthesesDelimited' => true,
173
                            'breakOnAlias' => true,
174
                        )
175
                    );
176
                }
177
                $state = 5;
178
            } elseif ($state === 5) {
179
                $ret->options = OptionsArray::parse($parser, $list, static::$OPTIONS);
180
                $state = 6;
181
            } elseif ($state === 6) {

src/Components/RenameOperation.php 1 location

@@ 117-133 (lines=17) @@
114
                    );
115
                    break;
116
                }
117
            } elseif ($state === 2) {
118
                $expr->new = Expression::parse(
119
                    $parser,
120
                    $list,
121
                    array(
122
                        'breakOnAlias' => true,
123
                        'parseField' => 'table',
124
                    )
125
                );
126
                if (empty($expr->new)) {
127
                    $parser->error(
128
                        __('The new name of the table was expected.'),
129
                        $token
130
                    );
131
                }
132
                $state = 3;
133
            } elseif ($state === 3) {
134
                if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) {
135
                    $ret[] = $expr;
136
                    $expr = new RenameOperation();

src/Components/AlterOperation.php 1 location

@@ 198-213 (lines=16) @@
195
                }
196
197
                $state = 1;
198
            } elseif ($state === 1) {
199
                $ret->field = Expression::parse(
200
                    $parser,
201
                    $list,
202
                    array(
203
                        'breakOnAlias' => true,
204
                        'parseField' => 'column',
205
                    )
206
                );
207
                if ($ret->field === null) {
208
                    // No field was read. We go back one token so the next
209
                    // iteration will parse the same token, but in state 2.
210
                    --$list->idx;
211
                }
212
                $state = 2;
213
            } elseif ($state === 2) {
214
                if ($token->type === Token::TYPE_OPERATOR) {
215
                    if ($token->value === '(') {
216
                        ++$brackets;