| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
MariaDB encloses some table options in backticks by default (e.g. `PAGE_COMPRESSED`=1). The option name lookup in OptionsArrays::parse() used $token->token which includes the backticks, causing the match against the options array to fail. This adds a targeted check: when a backtick-enclosed symbol is followed by '=', its unquoted value is used for the lookup. A lookahead for '=' prevents regular quoted identifiers (such as table or column names) from being mistaken for options. Fixes phpmyadmin#643 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Thank you, I will get back to it |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
How it works
In OptionsArrays::parse(), the option name lookup used $token->token which includes backticks for quoted symbols. MariaDB outputs table options like `PAGE_COMPRESSED`=1, so the backtick-enclosed name never matched the TABLE_OPTIONS array.
The fix adds a targeted check: if the token is a backtick-enclosed symbol and the next non-whitespace token is =, it uses the unquoted $token->value for the lookup. This prevents false matches where quoted identifiers (e.g. `database` in ALTER TABLE `database`.`table`) could collide with option names like DATABASE.
Test plan
Fixes #643
🤖 Generated with Claude Code