Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

CASE with alias is not properly parsed

Offen
#588 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
php, sql
Bereich
compilers, databases

Rechercherichtung

Beginne damit, den bereitgestellten CASE-Ausdruck über den Parser zu reproduzieren und die gemeldeten Fehler sowie die Ausgabe von build() zu vergleichen. Verfolge anschließend, wie CASE-Ausdrücke Aliase und Schlüsselwörter konsumieren, und füge dann einen Regressionstest hinzu, der zeigt, dass dieses SQL ohne Fehler geparst wird und build() mit dem korrekt beibehaltenen Alias erstellt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Feeding this SQL to the Parser:

SELECT
  CASE 
    WHEN a.kol = 1 THEN 'one'
    ELSE a.kol
  END as 'case'
FROM foo a;

will result in errors, and calling build() on the statement will result in this SQL:

SELECT CASE 'case' ELSE a.kol AS `END` END FROM foo AS `a`

The errors array contains these errors:

  • An alias was previously found.
  • An alias was expected.
  • Unexpected keyword.
  • Unexpected end of CASE expression

I encountered this problem since I upgraded from 5.8.2 to 5.9.1.

Vorherrschende Sprache
PHP
Sterne
485
Forks
119
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus phpmyadmin/sql-parser

Alle Issues in phpmyadmin/sql-parser

Ähnliche Issues

Weitere Issues zu PHP

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.