CreateTable reports a global secondary index name outside the pattern at 'indexName', where DynamoDB names the member

Abierto Apto para principiantes
#904 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
rust

Línea de trabajo

Empieza con validate_index_name en crates/core/src/validation/mod.rs y compara cómo gestiona las ubicaciones con validate_update_index_name en crates/engine/src/update_table.rs de #830. Mide las ubicaciones de las cláusulas del índice secundario local y de la longitud antes de cambiarlas, ya que el issue dice que no se han medido. El trabajo está terminado cuando los nombres GSI no válidos de CreateTable indican la ruta basada en 1 globalSecondaryIndexes.<n>.member.indexName y se comprueba el comportamiento pertinente.

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

Descripción

bug

What ExtendDB does

validate_index_name in crates/core/src/validation/mod.rs writes the location as indexName for every index name it refuses. For a global secondary index of CreateTable the location DynamoDB gives is the member path.

Measured on 2026-11-06 at the head of #830 (ccdae81c2), SQLite and PostgreSQL:

Request ExtendDB
CreateTable with one GSI named g i 1 validation error detected: Value 'g i' at 'indexName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z0-9_.-]+
CreateTable with GSIs gok and g<U+0000>i the same sentence with Value 'g<U+0000>i' at 'indexName'

What DynamoDB does

Measured in us-east-1 on 2026-11-06, with SDK parameter validation off. The index position is 1-based:

Request DynamoDB
one GSI named g i 1 validation error detected: Value 'g i' at 'globalSecondaryIndexes.1.member.indexName' failed to satisfy constraint: Member must satisfy regular expression pattern: [a-zA-Z0-9_.-]+
GSIs gok and g<U+0000>i ... Value 'g<U+0000>i' at 'globalSecondaryIndexes.2.member.indexName' ...

Suggested fix

Report a CreateTable GSI name fault at globalSecondaryIndexes.<n>.member.indexName. #830 does the same for UpdateTable (validate_update_index_name in crates/engine/src/update_table.rs, globalSecondaryIndexUpdates.<n>.member.create.indexName). The location for a local secondary index name and for the length clause is unmeasured. Measure it before changing it.

Related: #367, #830.

Lenguaje dominante
Rust
Estrellas
517
Forks
60
Merge medio
5 d 3 h
PR fusionados (30 d)
79

Preparar el entorno

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 ExtendDB/extenddb

Todos los issues de ExtendDB/extenddb

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.