{
    "query": "DELIMITER $$\nCREATE FUNCTION F_TEST(uid INT)\nBEGIN\n    DECLARE username VARCHAR DEFAULT \"\";\n    SELECT username INTO username FROM users WHERE ID = uid;\n    RETURN username;\nEND",
    "lexer": {
        "@type": "PhpMyAdmin\\SqlParser\\Lexer",
        "str": "DELIMITER $$\nCREATE FUNCTION F_TEST(uid INT)\nBEGIN\n    DECLARE username VARCHAR DEFAULT \"\";\n    SELECT username INTO username FROM users WHERE ID = uid;\n    RETURN username;\nEND",
        "len": 177,
        "last": 177,
        "list": {
            "@type": "PhpMyAdmin\\SqlParser\\TokensList",
            "tokens": [
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "DELIMITER",
                    "value": "DELIMITER",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 0
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 9
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "$$",
                    "value": "$$",
                    "keyword": null,
                    "type": 9,
                    "flags": 0,
                    "position": 10
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\n",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 12
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "CREATE",
                    "value": "CREATE",
                    "keyword": "CREATE",
                    "type": 1,
                    "flags": 3,
                    "position": 13
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 19
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "FUNCTION",
                    "value": "FUNCTION",
                    "keyword": "FUNCTION",
                    "type": 1,
                    "flags": 1,
                    "position": 20
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 28
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "F_TEST",
                    "value": "F_TEST",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 29
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "(",
                    "value": "(",
                    "keyword": null,
                    "type": 2,
                    "flags": 16,
                    "position": 35
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "uid",
                    "value": "uid",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 36
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 39
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "INT",
                    "value": "INT",
                    "keyword": "INT",
                    "type": 1,
                    "flags": 11,
                    "position": 40
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": ")",
                    "value": ")",
                    "keyword": null,
                    "type": 2,
                    "flags": 16,
                    "position": 43
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\n",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 44
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "BEGIN",
                    "value": "BEGIN",
                    "keyword": "BEGIN",
                    "type": 1,
                    "flags": 1,
                    "position": 45
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\n    ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 50
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "DECLARE",
                    "value": "DECLARE",
                    "keyword": "DECLARE",
                    "type": 1,
                    "flags": 3,
                    "position": 55
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 62
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "username",
                    "value": "username",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 63
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 71
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "VARCHAR",
                    "value": "VARCHAR",
                    "keyword": "VARCHAR",
                    "type": 1,
                    "flags": 11,
                    "position": 72
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 79
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "DEFAULT",
                    "value": "DEFAULT",
                    "keyword": "DEFAULT",
                    "type": 1,
                    "flags": 35,
                    "position": 80
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 87
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\"\"",
                    "value": "",
                    "keyword": null,
                    "type": 7,
                    "flags": 2,
                    "position": 88
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": ";",
                    "value": ";",
                    "keyword": null,
                    "type": 2,
                    "flags": 16,
                    "position": 90
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\n    ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 91
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "SELECT",
                    "value": "SELECT",
                    "keyword": "SELECT",
                    "type": 1,
                    "flags": 3,
                    "position": 96
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 102
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "username",
                    "value": "username",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 103
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 111
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "INTO",
                    "value": "INTO",
                    "keyword": "INTO",
                    "type": 1,
                    "flags": 3,
                    "position": 112
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 116
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "username",
                    "value": "username",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 117
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 125
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "FROM",
                    "value": "FROM",
                    "keyword": "FROM",
                    "type": 1,
                    "flags": 3,
                    "position": 126
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 130
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "users",
                    "value": "users",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 131
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 136
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "WHERE",
                    "value": "WHERE",
                    "keyword": "WHERE",
                    "type": 1,
                    "flags": 3,
                    "position": 137
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 142
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "ID",
                    "value": "ID",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 143
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 145
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "=",
                    "value": "=",
                    "keyword": null,
                    "type": 2,
                    "flags": 2,
                    "position": 146
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 147
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "uid",
                    "value": "uid",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 148
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": ";",
                    "value": ";",
                    "keyword": null,
                    "type": 2,
                    "flags": 16,
                    "position": 151
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\n    ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 152
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "RETURN",
                    "value": "RETURN",
                    "keyword": "RETURN",
                    "type": 1,
                    "flags": 3,
                    "position": 157
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": " ",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 163
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "username",
                    "value": "username",
                    "keyword": null,
                    "type": 0,
                    "flags": 0,
                    "position": 164
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": ";",
                    "value": ";",
                    "keyword": null,
                    "type": 2,
                    "flags": 16,
                    "position": 172
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "\n",
                    "value": " ",
                    "keyword": null,
                    "type": 3,
                    "flags": 0,
                    "position": 173
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": "END",
                    "value": "END",
                    "keyword": "END",
                    "type": 1,
                    "flags": 1,
                    "position": 174
                },
                {
                    "@type": "PhpMyAdmin\\SqlParser\\Token",
                    "token": null,
                    "value": null,
                    "keyword": null,
                    "type": 9,
                    "flags": 0,
                    "position": null
                }
            ],
            "count": 56,
            "idx": 56
        },
        "delimiter": "$$",
        "delimiterLen": 2,
        "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": "F_TEST",
                    "column": null,
                    "expr": "F_TEST",
                    "alias": null,
                    "function": null,
                    "subquery": null
                },
                "entityOptions": {
                    "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
                    "options": []
                },
                "fields": null,
                "with": null,
                "select": null,
                "like": null,
                "partitionBy": null,
                "partitionsNum": null,
                "subpartitionBy": null,
                "subpartitionsNum": null,
                "partitions": null,
                "table": null,
                "return": null,
                "parameters": [
                    {
                        "@type": "PhpMyAdmin\\SqlParser\\Components\\ParameterDefinition",
                        "name": "uid",
                        "inOut": null,
                        "type": {
                            "@type": "PhpMyAdmin\\SqlParser\\Components\\DataType",
                            "name": "INT",
                            "parameters": [],
                            "options": {
                                "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
                                "options": []
                            }
                        }
                    }
                ],
                "body": [
                    {
                        "@type": "@19"
                    },
                    {
                        "@type": "@20"
                    },
                    {
                        "@type": "@21"
                    },
                    {
                        "@type": "@22"
                    },
                    {
                        "@type": "@23"
                    },
                    {
                        "@type": "@24"
                    },
                    {
                        "@type": "@25"
                    },
                    {
                        "@type": "@26"
                    },
                    {
                        "@type": "@27"
                    },
                    {
                        "@type": "@28"
                    },
                    {
                        "@type": "@29"
                    },
                    {
                        "@type": "@30"
                    },
                    {
                        "@type": "@31"
                    },
                    {
                        "@type": "@32"
                    },
                    {
                        "@type": "@33"
                    },
                    {
                        "@type": "@34"
                    },
                    {
                        "@type": "@35"
                    },
                    {
                        "@type": "@36"
                    },
                    {
                        "@type": "@37"
                    },
                    {
                        "@type": "@38"
                    },
                    {
                        "@type": "@39"
                    },
                    {
                        "@type": "@40"
                    },
                    {
                        "@type": "@41"
                    },
                    {
                        "@type": "@42"
                    },
                    {
                        "@type": "@43"
                    },
                    {
                        "@type": "@44"
                    },
                    {
                        "@type": "@45"
                    },
                    {
                        "@type": "@46"
                    },
                    {
                        "@type": "@47"
                    },
                    {
                        "@type": "@48"
                    },
                    {
                        "@type": "@49"
                    },
                    {
                        "@type": "@50"
                    },
                    {
                        "@type": "@51"
                    },
                    {
                        "@type": "@52"
                    },
                    {
                        "@type": "@53"
                    },
                    {
                        "@type": "@54"
                    },
                    {
                        "@type": "@55"
                    },
                    {
                        "@type": "@56"
                    }
                ],
                "options": {
                    "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
                    "options": {
                        "6": "FUNCTION"
                    }
                },
                "first": 4,
                "last": 55
            }
        ],
        "brackets": 0,
        "strict": false,
        "errors": []
    },
    "errors": {
        "lexer": [],
        "parser": [
            [
                "A \"RETURNS\" keyword was expected.",
                {
                    "@type": "@17"
                },
                0
            ]
        ]
    }
}