Parser fails for updates that include subqueries for source tables
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia eseguendo la query UPDATE fornita tramite il parser SQL e confronta il suo output con la struttura prevista di table, subquery, SET e WHERE mostrata nell’issue. Traccia come vengono tokenizzate e analizzate le referenze alle tabelle UPDATE che contengono una subquery, quindi aggiungi o aggiorna un test di regressione per questa query e verifica la struttura analizzata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The SQL Parser fails to parse the following query:
update `table1` as e, (select * from table2) e2
set
e.`id` = e2.id,
where e.id=e2.id
It returns the output below. This appears to always be an issue when using subqueries in the table references.
[
{
"tables": [
{
"database": null,
"table": "table1",
"column": null,
"expr": "`table1`",
"alias": "e",
"function": null,
"subquery": null
}
],
"set": null,
"where": null,
"order": null,
"limit": null,
"options": {
"options": []
},
"first": 0,
"last": 10
},
{
"expr": [
{
"database": null,
"table": null,
"column": null,
"expr": "*",
"alias": null,
"function": null,
"subquery": null
}
],
"from": [
{
"database": null,
"table": "table2",
"column": null,
"expr": "table2",
"alias": null,
"function": null,
"subquery": null
}
],
"index_hints": null,
"partition": null,
"where": null,
"group": null,
"having": null,
"order": null,
"limit": null,
"procedure": null,
"into": null,
"join": null,
"union": [],
"end_options": null,
"options": {
"options": []
},
"first": 11,
"last": 21
},
{
"options": {
"options": []
},
"end_options": null,
"set": [
{
"column": "e.`id`",
"value": "e2.id"
}
],
"first": 22,
"last": 44,
"where": [
{
"identifiers": [
"e",
"id",
"e2"
],
"isOperator": false,
"expr": "e.id=e2.id"
}
]
}
]
- Lingua principale
- PHP
- Stelle
- 485
- Fork
- 119
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di phpmyadmin/sql-parser
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
phpmyadmin/sql-parser#655 · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
phpmyadmin/sql-parser#666 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
phpmyadmin/sql-parser#662 · 2 reazioni ·
-
MariaDB and MySQL contexts Apertakind/support
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
phpmyadmin/sql-parser#653 · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
phpmyadmin/sql-parser#649 ·
Tutte le issue di phpmyadmin/sql-parser
Issue simili
-
Admissions heading updates Apertaa11y admissions.uiowa.edu needs grooming SiteImprove best practice
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Save States Menu Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
pluginsGLPI/datainjection#673 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
octobercms/october#6130 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
getgrav/grav-plugin-form#656 ·