MySQL: `FLUSH TABLES` consumes the `;`, so the next statement is rejected

Ouverte
#2,764 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

  • #2789 par @slopgobblercobbler — fermée sans fusion

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
rust, sql

Piste de recherche

Start by reading the MySQL parser handling for FLUSH TABLES and the statement-separation tests; the issue points to #1775 and its fix in #1786 as a precedent. Reproduce the reported cases with FLUSH TABLES; SELECT 1, FLUSH TABLES t1, t2; SELECT 1, and FLUSH TABLES WITH READ LOCK; SELECT 1, then add coverage showing each parses as two statements.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

MySQL Prolific Author

FLUSH TABLES followed by another statement doesn't parse:

FLUSH TABLES; SELECT 1
  -> sql parser error: Expected: end of statement, found: SELECT at Line: 1, Column: 15
FLUSH TABLES t1, t2; SELECT 1
FLUSH TABLES WITH READ LOCK; SELECT 1
  -> same error
FLUSH PRIVILEGES; SELECT 1
  -> 2 statements (fine)

Each statement parses on its own. Snowflake's ALTER SESSION had the same problem (#1775, fixed in #1786).

Tested on main c45d1f4e (also 0.63.0 and 0.58.0).

Found with a property-based fuzzer (round trip and statement-separation checks); I used AI assistance for triage and verified every case above.

Langage dominant
Rust
Étoiles
3.5k
Forks
805
Merge moyen
2 j 3 h
PR mergées (30 j)
116

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/datafusion-sqlparser-rs

Toutes les issues de apache/datafusion-sqlparser-rs

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.