Subquery in expressions support
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece examinando o caminho existente de análise de expressões e o parser regular descrito nos exemplos. Determine como um ExpressionParser separado poderia representar e extrair subconsultas preservando a compatibilidade e, em seguida, verifique se os exemplos de SELECT e WHERE IN produzem subconsultas analisadas utilizáveis.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- PHP
- Estrelas
- 485
- Forks
- 119
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de phpmyadmin/sql-parser
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
phpmyadmin/sql-parser#655 · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
phpmyadmin/sql-parser#666 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
phpmyadmin/sql-parser#662 · 2 reações ·
-
MariaDB and MySQL contexts Abertakind/support
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
phpmyadmin/sql-parser#653 · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 70/100
phpmyadmin/sql-parser#649 ·
Todas as issues de phpmyadmin/sql-parser
Issues semelhantes
-
tooling
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
UX
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
bug customer-reported
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
MagnaCapax/PMSS#949 ·
-
responsive-media kses allow-list strips clipPathUnits, collapsing objectBoundingBox clip paths Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Automattic/static-site-importer#1829 ·