PostgreSQL: Support `PRIMARY KEY USING INDEX` syntax in `ALTER TABLE`

Abierto
#2,132 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
postgresql, rust, sql

Línea de trabajo

Comienza localizando la gramática de ALTER TABLE y el manejo de las restricciones de tabla en el parser SQL de Rust. Usa el ejemplo de PostgreSQL de este issue como entrada de parsing, luego añade cobertura para PRIMARY KEY USING INDEX y confirma que la sentencia se analiza sin requerir una lista de columnas.

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

Descripción

The parser fails to parse the PostgreSQL-specific PRIMARY KEY USING INDEX index_name syntax in ALTER TABLE statements:

ALTER TABLE version_downloads
  ADD CONSTRAINT version_downloads_pkey PRIMARY KEY USING INDEX version_downloads_unique;
Expected: a list of columns in parentheses, found: INDEX

Expected behavior

This is valid PostgreSQL syntax per the ALTER TABLE documentation. The grammar allows:

ADD table_constraint_using_index

Where table_constraint_using_index can be:

[ CONSTRAINT constraint_name ]
{ UNIQUE | PRIMARY KEY } USING INDEX index_name
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

Note that PRIMARY KEY USING INDEX index_name is a distinct form that does not require a column list - it promotes an existing unique index to be the primary key constraint.

Lenguaje dominante
Rust
Estrellas
3.5k
Forks
774
Merge medio
3 d 4 h
PR fusionados (30 d)
19

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.