Subquery in expressions support
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne damit, den bestehenden Pfad zur Ausdrucksanalyse und den in den Beispielen beschriebenen regulären Parser zu untersuchen. Ermittle, wie ein separater ExpressionParser Unterabfragen darstellen und extrahieren könnte, ohne die Kompatibilität zu beeinträchtigen, und überprüfe anschließend, ob die SELECT- und WHERE IN-Beispiele verwendbare geparste Unterabfragen erzeugen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
It seems to subqueries are poorly supported
Some examples first:
They are not parsed at all
SELECT * FROM (SELECT * FROM b) a
results in
...
PhpMyAdmin\SqlParser\Components\Expression Object
(
[database] =>
[table] =>
[column] =>
[expr] => (SELECT * FROM b)
[alias] => a
[function] =>
[subquery] => SELECT
)
...
not even extracted properly (see #254)
SELECT * FROM a WHERE a.field IN (SELECT * FROM b)
results in
...
...
PhpMyAdmin\SqlParser\Components\Condition Object
(
[identifiers] => Array
(
[0] => a
[1] => field
[2] => b
)
[isOperator] =>
[expr] => a.field IN (SELECT * FROM b)
)
...
So I have an idea. May be there must be separate ExpressionParser generating AST for expression? Those (including me) who needed parsed expression can use it (and extract subselects, and parse it with regular parser), and there will be no compatibility break.
Does it sounds as a good plan? If it does, I would like to implement it.
- Vorherrschende Sprache
- PHP
- Sterne
- 485
- Forks
- 119
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus phpmyadmin/sql-parser
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
phpmyadmin/sql-parser#655 · 1 Reaktion ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
phpmyadmin/sql-parser#666 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 65/100
phpmyadmin/sql-parser#662 · 2 Reaktionen ·
-
kind/support
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
phpmyadmin/sql-parser#653 · 1 Reaktion ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 70/100
phpmyadmin/sql-parser#649 ·
Alle Issues in phpmyadmin/sql-parser
Ähnliche Issues
-
Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Automattic/safe-publish#594 ·
-
needs-triage Platform(Default)
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
HttpClient
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
symfony/symfony-docs#23092 ·
-
sync-en
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
sync-en
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100