diff --git a/src/Contexts/ContextMariaDb100500.php b/src/Contexts/ContextMariaDb100500.php index 3c471f49..a01d472d 100644 --- a/src/Contexts/ContextMariaDb100500.php +++ b/src/Contexts/ContextMariaDb100500.php @@ -617,6 +617,7 @@ class ContextMariaDb100500 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb100600.php b/src/Contexts/ContextMariaDb100600.php index d1525200..bcc85b76 100644 --- a/src/Contexts/ContextMariaDb100600.php +++ b/src/Contexts/ContextMariaDb100600.php @@ -617,6 +617,7 @@ class ContextMariaDb100600 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb100700.php b/src/Contexts/ContextMariaDb100700.php index 2b2840b4..5065b7b9 100644 --- a/src/Contexts/ContextMariaDb100700.php +++ b/src/Contexts/ContextMariaDb100700.php @@ -617,6 +617,7 @@ class ContextMariaDb100700 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb100800.php b/src/Contexts/ContextMariaDb100800.php index 538a9a85..dbe81e4e 100644 --- a/src/Contexts/ContextMariaDb100800.php +++ b/src/Contexts/ContextMariaDb100800.php @@ -617,6 +617,7 @@ class ContextMariaDb100800 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb100900.php b/src/Contexts/ContextMariaDb100900.php index 3b72fc34..58d8efec 100644 --- a/src/Contexts/ContextMariaDb100900.php +++ b/src/Contexts/ContextMariaDb100900.php @@ -617,6 +617,7 @@ class ContextMariaDb100900 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb101000.php b/src/Contexts/ContextMariaDb101000.php index f600d24d..be40d50d 100644 --- a/src/Contexts/ContextMariaDb101000.php +++ b/src/Contexts/ContextMariaDb101000.php @@ -617,6 +617,8 @@ class ContextMariaDb101000 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb101100.php b/src/Contexts/ContextMariaDb101100.php index 35f43fa8..d157a1fc 100644 --- a/src/Contexts/ContextMariaDb101100.php +++ b/src/Contexts/ContextMariaDb101100.php @@ -617,6 +617,8 @@ class ContextMariaDb101100 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110000.php b/src/Contexts/ContextMariaDb110000.php index 7d937bed..578c1f8b 100644 --- a/src/Contexts/ContextMariaDb110000.php +++ b/src/Contexts/ContextMariaDb110000.php @@ -617,6 +617,8 @@ class ContextMariaDb110000 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110100.php b/src/Contexts/ContextMariaDb110100.php index a3971d01..00bcee52 100644 --- a/src/Contexts/ContextMariaDb110100.php +++ b/src/Contexts/ContextMariaDb110100.php @@ -617,6 +617,8 @@ class ContextMariaDb110100 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110200.php b/src/Contexts/ContextMariaDb110200.php index de24e201..0fccc4a7 100644 --- a/src/Contexts/ContextMariaDb110200.php +++ b/src/Contexts/ContextMariaDb110200.php @@ -617,6 +617,8 @@ class ContextMariaDb110200 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110300.php b/src/Contexts/ContextMariaDb110300.php index 2597c5ea..0d4e2ff1 100644 --- a/src/Contexts/ContextMariaDb110300.php +++ b/src/Contexts/ContextMariaDb110300.php @@ -617,6 +617,8 @@ class ContextMariaDb110300 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110400.php b/src/Contexts/ContextMariaDb110400.php index 2580ff9d..eb29f7e1 100644 --- a/src/Contexts/ContextMariaDb110400.php +++ b/src/Contexts/ContextMariaDb110400.php @@ -617,6 +617,8 @@ class ContextMariaDb110400 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110500.php b/src/Contexts/ContextMariaDb110500.php index 26e74198..10182d1d 100644 --- a/src/Contexts/ContextMariaDb110500.php +++ b/src/Contexts/ContextMariaDb110500.php @@ -615,6 +615,8 @@ class ContextMariaDb110500 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110600.php b/src/Contexts/ContextMariaDb110600.php index 979bfb2a..c8eb9563 100644 --- a/src/Contexts/ContextMariaDb110600.php +++ b/src/Contexts/ContextMariaDb110600.php @@ -615,6 +615,8 @@ class ContextMariaDb110600 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110700.php b/src/Contexts/ContextMariaDb110700.php index 0372389a..f8196d72 100644 --- a/src/Contexts/ContextMariaDb110700.php +++ b/src/Contexts/ContextMariaDb110700.php @@ -615,6 +615,8 @@ class ContextMariaDb110700 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb110800.php b/src/Contexts/ContextMariaDb110800.php index 614a1505..48f9b059 100644 --- a/src/Contexts/ContextMariaDb110800.php +++ b/src/Contexts/ContextMariaDb110800.php @@ -615,6 +615,8 @@ class ContextMariaDb110800 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb120000.php b/src/Contexts/ContextMariaDb120000.php index d9aca891..883ec367 100644 --- a/src/Contexts/ContextMariaDb120000.php +++ b/src/Contexts/ContextMariaDb120000.php @@ -615,6 +615,8 @@ class ContextMariaDb120000 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/src/Contexts/ContextMariaDb120100.php b/src/Contexts/ContextMariaDb120100.php index 614f73e0..3aae2e6c 100644 --- a/src/Contexts/ContextMariaDb120100.php +++ b/src/Contexts/ContextMariaDb120100.php @@ -615,6 +615,8 @@ class ContextMariaDb120100 extends Context 'ENUM' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'FIXED' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'GEOMETRY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET4' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, + 'INET6' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'JSON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOINT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, 'MULTILINEPOLYGON' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE, diff --git a/tests/Parser/CreateStatementTest.php b/tests/Parser/CreateStatementTest.php index c6f1e5a3..7504d520 100644 --- a/tests/Parser/CreateStatementTest.php +++ b/tests/Parser/CreateStatementTest.php @@ -53,6 +53,8 @@ public static function createProvider(): array ['parser/parseCreateTable16'], ['parser/parseCreateTable17'], ['parser/parseCreateTable18'], + ['parser/parseCreateTable19_mariadb_100500'], + ['parser/parseCreateTable20_mariadb_101000'], ['parser/parseCreateTableErr1'], ['parser/parseCreateTableErr2'], ['parser/parseCreateTableErr3'], diff --git a/tests/data/parser/parseCreateTable19_mariadb_100500.in b/tests/data/parser/parseCreateTable19_mariadb_100500.in new file mode 100644 index 00000000..acd67586 --- /dev/null +++ b/tests/data/parser/parseCreateTable19_mariadb_100500.in @@ -0,0 +1 @@ +CREATE TABLE `test` (`ip` INET6); diff --git a/tests/data/parser/parseCreateTable19_mariadb_100500.out b/tests/data/parser/parseCreateTable19_mariadb_100500.out new file mode 100644 index 00000000..804cee8f --- /dev/null +++ b/tests/data/parser/parseCreateTable19_mariadb_100500.out @@ -0,0 +1,220 @@ +{ + "query": "CREATE TABLE `test` (`ip` INET6);\n", + "lexer": { + "@type": "PhpMyAdmin\\SqlParser\\Lexer", + "str": "CREATE TABLE `test` (`ip` INET6);\n", + "len": 34, + "last": 34, + "list": { + "@type": "PhpMyAdmin\\SqlParser\\TokensList", + "tokens": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "CREATE", + "value": "CREATE", + "keyword": "CREATE", + "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": "TABLE", + "value": "TABLE", + "keyword": "TABLE", + "type": 1, + "flags": 3, + "position": 7 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 12 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "`test`", + "value": "test", + "keyword": null, + "type": 8, + "flags": 2, + "position": 13 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 19 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "(", + "value": "(", + "keyword": null, + "type": 2, + "flags": 16, + "position": 20 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "`ip`", + "value": "ip", + "keyword": null, + "type": 8, + "flags": 2, + "position": 21 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 25 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "INET6", + "value": "INET6", + "keyword": "INET6", + "type": 1, + "flags": 9, + "position": 26 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ")", + "value": ")", + "keyword": null, + "type": 2, + "flags": 16, + "position": 31 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ";", + "value": ";", + "keyword": null, + "type": 9, + "flags": 0, + "position": 32 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "\n", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 33 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": null, + "value": null, + "keyword": null, + "type": 9, + "flags": 0, + "position": null + } + ], + "count": 14, + "idx": 14 + }, + "delimiter": ";", + "delimiterLen": 1, + "strict": false, + "errors": [] + }, + "parser": { + "@type": "PhpMyAdmin\\SqlParser\\Parser", + "list": { + "@type": "@1" + }, + "statements": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Statements\\CreateStatement", + "name": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": null, + "table": "test", + "column": null, + "expr": "`test`", + "alias": null, + "function": null, + "subquery": null + }, + "entityOptions": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + }, + "fields": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\CreateDefinition", + "name": "ip", + "isConstraint": null, + "type": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\DataType", + "name": "INET6", + "parameters": [], + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + } + }, + "key": null, + "references": null, + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + } + } + ], + "with": null, + "select": null, + "like": null, + "partitionBy": null, + "partitionsNum": null, + "subpartitionBy": null, + "subpartitionsNum": null, + "partitions": null, + "table": null, + "return": null, + "parameters": null, + "body": [], + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": { + "6": "TABLE" + } + }, + "first": 0, + "last": 11 + } + ], + "brackets": 0, + "strict": false, + "errors": [] + }, + "errors": { + "lexer": [], + "parser": [] + } +} \ No newline at end of file diff --git a/tests/data/parser/parseCreateTable20_mariadb_101000.in b/tests/data/parser/parseCreateTable20_mariadb_101000.in new file mode 100644 index 00000000..3c6e2398 --- /dev/null +++ b/tests/data/parser/parseCreateTable20_mariadb_101000.in @@ -0,0 +1 @@ +CREATE TABLE `test` (`ip` INET4); diff --git a/tests/data/parser/parseCreateTable20_mariadb_101000.out b/tests/data/parser/parseCreateTable20_mariadb_101000.out new file mode 100644 index 00000000..bc8673f7 --- /dev/null +++ b/tests/data/parser/parseCreateTable20_mariadb_101000.out @@ -0,0 +1,220 @@ +{ + "query": "CREATE TABLE `test` (`ip` INET4);\n", + "lexer": { + "@type": "PhpMyAdmin\\SqlParser\\Lexer", + "str": "CREATE TABLE `test` (`ip` INET4);\n", + "len": 34, + "last": 34, + "list": { + "@type": "PhpMyAdmin\\SqlParser\\TokensList", + "tokens": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "CREATE", + "value": "CREATE", + "keyword": "CREATE", + "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": "TABLE", + "value": "TABLE", + "keyword": "TABLE", + "type": 1, + "flags": 3, + "position": 7 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 12 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "`test`", + "value": "test", + "keyword": null, + "type": 8, + "flags": 2, + "position": 13 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 19 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "(", + "value": "(", + "keyword": null, + "type": 2, + "flags": 16, + "position": 20 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "`ip`", + "value": "ip", + "keyword": null, + "type": 8, + "flags": 2, + "position": 21 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": " ", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 25 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "INET4", + "value": "INET4", + "keyword": "INET4", + "type": 1, + "flags": 9, + "position": 26 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ")", + "value": ")", + "keyword": null, + "type": 2, + "flags": 16, + "position": 31 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": ";", + "value": ";", + "keyword": null, + "type": 9, + "flags": 0, + "position": 32 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": "\n", + "value": " ", + "keyword": null, + "type": 3, + "flags": 0, + "position": 33 + }, + { + "@type": "PhpMyAdmin\\SqlParser\\Token", + "token": null, + "value": null, + "keyword": null, + "type": 9, + "flags": 0, + "position": null + } + ], + "count": 14, + "idx": 14 + }, + "delimiter": ";", + "delimiterLen": 1, + "strict": false, + "errors": [] + }, + "parser": { + "@type": "PhpMyAdmin\\SqlParser\\Parser", + "list": { + "@type": "@1" + }, + "statements": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Statements\\CreateStatement", + "name": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression", + "database": null, + "table": "test", + "column": null, + "expr": "`test`", + "alias": null, + "function": null, + "subquery": null + }, + "entityOptions": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + }, + "fields": [ + { + "@type": "PhpMyAdmin\\SqlParser\\Components\\CreateDefinition", + "name": "ip", + "isConstraint": null, + "type": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\DataType", + "name": "INET4", + "parameters": [], + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + } + }, + "key": null, + "references": null, + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": [] + } + } + ], + "with": null, + "select": null, + "like": null, + "partitionBy": null, + "partitionsNum": null, + "subpartitionBy": null, + "subpartitionsNum": null, + "partitions": null, + "table": null, + "return": null, + "parameters": null, + "body": [], + "options": { + "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray", + "options": { + "6": "TABLE" + } + }, + "first": 0, + "last": 11 + } + ], + "brackets": 0, + "strict": false, + "errors": [] + }, + "errors": { + "lexer": [], + "parser": [] + } +} \ No newline at end of file diff --git a/tools/contexts/MariaDb100500.txt b/tools/contexts/MariaDb100500.txt index 02e42154..09df14a1 100644 --- a/tools/contexts/MariaDb100500.txt +++ b/tools/contexts/MariaDb100500.txt @@ -220,6 +220,7 @@ IMPORT IN (R) INDEX (R) INDEXES +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb100600.txt b/tools/contexts/MariaDb100600.txt index b72b0a0c..f1147af0 100644 --- a/tools/contexts/MariaDb100600.txt +++ b/tools/contexts/MariaDb100600.txt @@ -220,6 +220,7 @@ IMPORT IN (R) INDEX (R) INDEXES +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb100700.txt b/tools/contexts/MariaDb100700.txt index 5e0346e4..3bf1201c 100644 --- a/tools/contexts/MariaDb100700.txt +++ b/tools/contexts/MariaDb100700.txt @@ -220,6 +220,7 @@ IMPORT IN (R) INDEX (R) INDEXES +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb100800.txt b/tools/contexts/MariaDb100800.txt index 5e0346e4..3bf1201c 100644 --- a/tools/contexts/MariaDb100800.txt +++ b/tools/contexts/MariaDb100800.txt @@ -220,6 +220,7 @@ IMPORT IN (R) INDEX (R) INDEXES +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb100900.txt b/tools/contexts/MariaDb100900.txt index 5e0346e4..3bf1201c 100644 --- a/tools/contexts/MariaDb100900.txt +++ b/tools/contexts/MariaDb100900.txt @@ -220,6 +220,7 @@ IMPORT IN (R) INDEX (R) INDEXES +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb101000.txt b/tools/contexts/MariaDb101000.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb101000.txt +++ b/tools/contexts/MariaDb101000.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb101100.txt b/tools/contexts/MariaDb101100.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb101100.txt +++ b/tools/contexts/MariaDb101100.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110000.txt b/tools/contexts/MariaDb110000.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110000.txt +++ b/tools/contexts/MariaDb110000.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110100.txt b/tools/contexts/MariaDb110100.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110100.txt +++ b/tools/contexts/MariaDb110100.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110200.txt b/tools/contexts/MariaDb110200.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110200.txt +++ b/tools/contexts/MariaDb110200.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110300.txt b/tools/contexts/MariaDb110300.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110300.txt +++ b/tools/contexts/MariaDb110300.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110400.txt b/tools/contexts/MariaDb110400.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110400.txt +++ b/tools/contexts/MariaDb110400.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110500.txt b/tools/contexts/MariaDb110500.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110500.txt +++ b/tools/contexts/MariaDb110500.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110600.txt b/tools/contexts/MariaDb110600.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110600.txt +++ b/tools/contexts/MariaDb110600.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110700.txt b/tools/contexts/MariaDb110700.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110700.txt +++ b/tools/contexts/MariaDb110700.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb110800.txt b/tools/contexts/MariaDb110800.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb110800.txt +++ b/tools/contexts/MariaDb110800.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb120000.txt b/tools/contexts/MariaDb120000.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb120000.txt +++ b/tools/contexts/MariaDb120000.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R) diff --git a/tools/contexts/MariaDb120100.txt b/tools/contexts/MariaDb120100.txt index 5e0346e4..ca56259e 100644 --- a/tools/contexts/MariaDb120100.txt +++ b/tools/contexts/MariaDb120100.txt @@ -220,6 +220,8 @@ IMPORT IN (R) INDEX (R) INDEXES +INET4 (D) +INET6 (D) INFILE (R) INITIAL_SIZE INNER (R)