@@ -201,8 +201,10 @@ public static function parse(Parser $parser, TokensList $list, array $options =
201201 'An opening bracket was expected. ' ,
202202 $ token
203203 );
204+
204205 break ;
205206 }
207+
206208 } elseif ($ state === 1 ) {
207209 if ($ token ->type === Token::TYPE_KEYWORD && $ token ->keyword === 'CONSTRAINT ' ) {
208210 $ expr ->isConstraint = true ;
@@ -226,11 +228,11 @@ public static function parse(Parser $parser, TokensList $list, array $options =
226228 );
227229
228230 return $ ret ;
229- } else {
230- // Non-reserved keywords are allowed without backquotes
231- $ expr ->name = $ token ->value ;
232- $ state = 2 ;
233231 }
232+
233+ // Non-reserved keywords are allowed without backquotes
234+ $ expr ->name = $ token ->value ;
235+ $ state = 2 ;
234236 } else {
235237 $ parser ->error (
236238 'A symbol name was expected! ' ,
@@ -239,6 +241,7 @@ public static function parse(Parser $parser, TokensList $list, array $options =
239241
240242 return $ ret ;
241243 }
244+
242245 } elseif ($ state === 2 ) {
243246 $ expr ->type = DataType::parse ($ parser , $ list );
244247 $ state = 3 ;
@@ -253,6 +256,7 @@ public static function parse(Parser $parser, TokensList $list, array $options =
253256 --$ list ->idx ;
254257 }
255258 $ state = 5 ;
259+
256260 } elseif ($ state === 5 ) {
257261 if ((!empty ($ expr ->type )) || (!empty ($ expr ->key ))) {
258262 $ ret [] = $ expr ;
@@ -302,35 +306,35 @@ public static function build($component, array $options = array())
302306 {
303307 if (is_array ($ component )) {
304308 return "( \n " . implode (", \n " , $ component ) . "\n) " ;
305- } else {
306- $ tmp = '' ;
307-
308- if ($ component ->isConstraint ) {
309- $ tmp .= 'CONSTRAINT ' ;
310- }
309+ }
311310
312- if ((isset ($ component ->name )) && ($ component ->name !== '' )) {
313- $ tmp .= Context::escape ($ component ->name ) . ' ' ;
314- }
311+ $ tmp = '' ;
315312
316- if (!empty ($ component ->type )) {
317- $ tmp .= DataType::build (
318- $ component ->type ,
319- array ('lowercase ' => true )
320- ) . ' ' ;
321- }
313+ if ($ component ->isConstraint ) {
314+ $ tmp .= 'CONSTRAINT ' ;
315+ }
322316
323- if (! empty ( $ component ->key )) {
324- $ tmp .= $ component ->key . ' ' ;
325- }
317+ if (( isset ( $ component ->name )) && ( $ component -> name !== '' )) {
318+ $ tmp .= Context:: escape ( $ component ->name ) . ' ' ;
319+ }
326320
327- if (!empty ($ component ->references )) {
328- $ tmp .= 'REFERENCES ' . $ component ->references . ' ' ;
329- }
321+ if (!empty ($ component ->type )) {
322+ $ tmp .= DataType::build (
323+ $ component ->type ,
324+ array ('lowercase ' => true )
325+ ) . ' ' ;
326+ }
330327
331- $ tmp .= $ component ->options ;
328+ if (!empty ($ component ->key )) {
329+ $ tmp .= $ component ->key . ' ' ;
330+ }
332331
333- return trim ($ tmp );
332+ if (!empty ($ component ->references )) {
333+ $ tmp .= 'REFERENCES ' . $ component ->references . ' ' ;
334334 }
335+
336+ $ tmp .= $ component ->options ;
337+
338+ return trim ($ tmp );
335339 }
336340}
0 commit comments