Re-formating LIMIT destroys DELETE and UPDATE queries
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 48/100
Direção de pesquisa
Comece reproduzindo o problema com o exemplo do construtor de Parser e de statement->build() mostrado no relatório; em seguida, rastreie como LIMIT é construído para as instruções DELETE e UPDATE. A issue não especifica nenhum arquivo ou teste; considera-se concluído quando as queries DELETE e UPDATE reconstruídas mantêm uma sintaxe LIMIT válida, enquanto o comportamento de SELECT continua correto.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When building queries, the LIMIT is re-formatted. For example SELECT * FROM tbl LIMIT 1 is changed to SELECT * FROM tbl LIMIT 0, 1. This works just fine for SELECT queries, but not for DELETE or UPDATE queries.
Example:
$query1 = "DELETE FROM a LIMIT 1";
$parser = new PhpMyAdmin\SqlParser\Parser($query1);
$statement = $parser->statements[0];
$table2 = new \PhpMyAdmin\SqlParser\Components\Expression("", "b", "", "");
$statement->from[0] = $table2;
echo $statement->build();
results in
DELETE FROM `b` LIMIT 0, 1
The changed query fails, while the original query is perfect SQL.
- 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
-
Solved site promotion gate fails on runner PHP patch drift (expects 8.2.33, runner installs 8.2.34) Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Automattic/blocks-engine#2161 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Automattic/static-site-importer#1824 ·
-
[Chore] Keep one viget-block-generator skill and replicate it, instead of four tracked copies Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Cannot reset column width Aberta0. Needs triage bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
0. Needs triage 35-feedback bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100