From b82f35619983fbd89b0390a4348cdfa85d274448 Mon Sep 17 00:00:00 2001 From: Nicolas Giraud Date: Mon, 26 Aug 2024 18:21:37 +0200 Subject: [PATCH] Preparing tests about missing assignment in SET operation. --- tests/Parser/UpdateStatementTest.php | 1 + tests/data/parser/parseUpdateEmptySet.in | 1 + tests/data/parser/parseUpdateEmptySet.out | 176 ++++++++++++++++++++++ 3 files changed, 178 insertions(+) create mode 100644 tests/data/parser/parseUpdateEmptySet.in create mode 100644 tests/data/parser/parseUpdateEmptySet.out diff --git a/tests/Parser/UpdateStatementTest.php b/tests/Parser/UpdateStatementTest.php index 7f138b28b..7733ce619 100644 --- a/tests/Parser/UpdateStatementTest.php +++ b/tests/Parser/UpdateStatementTest.php @@ -30,6 +30,7 @@ public static function updateProvider(): array ['parser/parseUpdate6'], ['parser/parseUpdate7'], ['parser/parseUpdateErr'], + ['parser/parseUpdateEmptySet'], ]; } } diff --git a/tests/data/parser/parseUpdateEmptySet.in b/tests/data/parser/parseUpdateEmptySet.in new file mode 100644 index 000000000..996d765b5 --- /dev/null +++ b/tests/data/parser/parseUpdateEmptySet.in @@ -0,0 +1 @@ +UPDATE test SET WHERE 1; diff --git a/tests/data/parser/parseUpdateEmptySet.out b/tests/data/parser/parseUpdateEmptySet.out new file mode 100644 index 000000000..ce0632dfb --- /dev/null +++ b/tests/data/parser/parseUpdateEmptySet.out @@ -0,0 +1,176 @@ +{ + "query": "UPDATE test SET WHERE 1;\n", + "lexer": { + "@type": "PhpMyAdmin\\SqlParser\\Lexer", + "str": "UPDATE test SET WHERE 1;\n", + "len": 25, + "last": 25, + "list": { + "@type": "PhpMyAdmin\\SqlParser\\TokensList", + "tokens": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "UPDATE", + "value": "UPDATE", + "keyword": "UPDATE", + "type": 1, + "flags": 3, + "position": 0 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 6 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "test", + "value": "test", + "keyword": null, + "type": 0, + "flags": 0, + "position": 7 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 11 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "SET", + "value": "SET", + "keyword": "SET", + "type": 1, + "flags": 11, + "position": 12 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 15 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "WHERE", + "value": "WHERE", + "keyword": "WHERE", + "type": 1, + "flags": 3, + "position": 16 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 21 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "1", + "value": 1, + "keyword": null, + "type": 6, + "flags": 0, + "position": 22 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ";", + "value": ";", + "keyword": null, + "type": 9, + "flags": 0, + "position": 23 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "\n", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 24 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": null, + "value": null, + "keyword": null, + "type": 9, + "flags": 0, + "position": null + } + ], + "count": 12, + "idx": 12 + }, + "delimiter": ";", + "delimiterLen": 1, + "strict": false, + "errors": [] + }, + "parser": { + "@type": "PhpMyAdmin\\SqlParser\\Parser", + "list": { + "@type": "@1" + }, + "statements": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Statements\\UpdateStatement", + "tables": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": null, + "table": "test", + "column": null, + "expr": "test", + "alias": null, + "function": null, + "subquery": null + } + ], + "set": [], + "where": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Condition", + "identifiers": [], + "isOperator": false, + "expr": "1" + } + ], + "order": null, + "limit": null, + "join": null, + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + }, + "first": 0, + "last": 8 + } + ], + "brackets": 0, + "strict": false, + "errors": [] + }, + "errors": { + "lexer": [], + "parser": [] + } +} \ No newline at end of file