Parser fails for updates that include subqueries for source tables
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza ejecutando la consulta UPDATE proporcionada mediante el analizador SQL y compara su salida con la estructura esperada de table, subquery, SET y WHERE mostrada en el issue. Rastrea cómo se tokenizan y analizan las referencias de tabla de UPDATE que contienen una subquery; después, añade o actualiza una prueba de regresión para esta consulta y verifica la estructura analizada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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"
}
]
}
]
- Lenguaje dominante
- PHP
- Estrellas
- 485
- Forks
- 119
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de phpmyadmin/sql-parser
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
phpmyadmin/sql-parser#655 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
phpmyadmin/sql-parser#666 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
phpmyadmin/sql-parser#662 · 2 reacciones ·
-
MariaDB and MySQL contexts Abiertokind/support
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
phpmyadmin/sql-parser#653 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
phpmyadmin/sql-parser#649 ·
Todos los issues de phpmyadmin/sql-parser
Issues similares
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
-
sync-en
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
-
Перевод устарел
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
-
[6.x]: "Cannot use object of type stdClass as array" loading Users index (regression of #19182) Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100