You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support MySQL SET PERSIST/PERSIST_ONLY/LOCAL and dotted user variables #52
ProxySQL PR #5893 surfaced ParserSQL SET grammar gaps while porting obsolete ProxySQL PR #5088 TAP coverage.
ParserSQL currently does not fully parse these MySQL SET forms through the SET AST:
SET persist character_set_server ='utf8mb4';
SET persist_only innodb_buffer_pool_size ='1G';
SET PERSIST max_allowed_packet =1073741824;
SET @@PERSIST.max_allowed_packet=1073741824;
SET PERSIST_ONLY sql_mode ='STRICT_TRANS_TABLES';
SET @@PERSIST_ONLY.sql_mode='STRICT_TRANS_TABLES';
SET LOCAL wait_timeout =10;
SET LOCAL sql_mode := CONCAT(@@sql_mode, ',STRICT_TRANS_TABLES');
SET @'mix' :=1, LOCAL wait_timeout :=20;
SET @user.var :=7;
Expected behavior:
Treat MySQL LOCAL, PERSIST, and PERSIST_ONLY as SET assignment scopes where valid.
Handle comma-separated assignments that begin with those scope tokens.
Normalize @@persist.var / @@persist_only.var as scoped system variables.
Parse dotted single-at user variables like @user.var as a single variable target.
ProxySQL should consume this via a normal ParserSQL update, not a vendored local patch.
#37 - fix(set): comma-separation after NAMES/CHARSET, ON keyword values, empty-result detection [merged] #38 - fix(set): handle PostgreSQL SET TIME ZONE alias and multi-value lists [merged] #39 - fix(set): coverage for ProxySQL set_parser_algorithm=3 audit (P1..P6) [merged] #43 - fix(tokenizer): allow $ as PG identifier continuation char [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
Activity
coderabbitai commentedon Jul 8, 2026
🔗 Related PRs
#37 - fix(set): comma-separation after NAMES/CHARSET, ON keyword values, empty-result detection [merged]
#38 - fix(set): handle PostgreSQL SET TIME ZONE alias and multi-value lists [merged]
#39 - fix(set): coverage for ProxySQL set_parser_algorithm=3 audit (P1..P6) [merged]
#43 - fix(tokenizer): allow
$as PG identifier continuation char [merged]📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!