Subquery in expressions support
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Empieza examinando la ruta existente de análisis de expresiones y el parser habitual descrito en los ejemplos. Determina cómo un ExpressionParser separado podría representar y extraer subconsultas manteniendo la compatibilidad, y verifica después que los ejemplos de SELECT y WHERE IN produzcan subconsultas analizadas utilizables.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- 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
-
Admissions heading updates Abiertoa11y admissions.uiowa.edu needs grooming SiteImprove best practice
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Save States Menu Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Error on exporting the error log Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
pluginsGLPI/datainjection#673 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
octobercms/october#6130 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
getgrav/grav-plugin-form#656 ·