Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Should `DELETE + LIMIT` be supported by the generic dialect ?

Abierto Apto para principiantes
#2,615 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust
Área
compilers

Línea de trabajo

Comienza en src/parser.rs en la ruta de análisis de la sentencia DELETE y encuentra dónde se consume el LIMIT/OFFSET opcional después del objetivo de un delete; revisa cómo otras construcciones condicionan el comportamiento según MySqlDialect vs. GenericDialect (busca comprobaciones de dialecto existentes y métodos auxiliares en Dialect). Añade pruebas en el directorio tests/ (p. ej. los archivos de pruebas de los dialectos MySQL y genérico) que verifiquen que DELETE FROM t LIMIT 10 se analiza con MySQL pero es rechazado por el dialecto genérico, y luego ejecuta cargo test. Listo significa que el dialecto genérico produzca un error con DELETE+LIMIT mientras el comportamiento de MySQL/MariaDB permanece sin cambios.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

DuckDB MySQL PostgreSQL

Hello!

At https://github.com/apache/datafusion/issues/24998 we were investigating a problem that DELETE FROM tableX LIMIT 10 was actually ignoring the limit and deleting all records.

It seems only MySQL/MariaDB supports LIMIT in DELETE clause. All other major DBs cannot parse it.
For example:

Postgres:

postgres=# DELETE FROM t3 LIMIT 2;
ERROR:  syntax error at or near "LIMIT"
LINE 1: DELETE FROM t3 LIMIT 2;
                       ^

DuckDB:

memory D DELETE FROM t3 LIMIT 2;
Parser Error:
syntax error at or near "LIMIT"

LINE 1: DELETE FROM t3 LIMIT 2;
                       ^

Should sqlparser-rs disable DELETE+LIMIT for all but the MySQL dialect ?

Lenguaje dominante
Rust
Estrellas
3.5k
Forks
786
Merge medio
3 d 15 h
PR fusionados (30 d)
51

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/datafusion-sqlparser-rs

Todos los issues de apache/datafusion-sqlparser-rs

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.