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

SyncEngine treats JSONB as TEXT instead of BLOB

Abierto
#561 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
56/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
sqlite, swift

Línea de trabajo

Start in SyncEngine.upsertFromServerRecord(_:force:db), where the issue reports the warning, and trace how JSONBRepresentation values are encoded when records are fetched from CloudKit. Check the JSONB column handling and relevant tests; done means the value is stored as a JSONB BLOB rather than TEXT and the reported SQLite error no longer occurs.

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

Descripción

bug
Description

My CloudKit-synced schema has several JSONBRepresentation columns. When fetching the records from CloudKit, I get a purple warning saying:

Caught error: SQLite error 19: cannot store TEXT value in BLOB column notes.text - while executing `INSERT INTO "notes" ...

The warning is emitted from SyncEngine.upsertFromServerRecord(_:force:db).

Checklist
  • I wrote this in my own words, and aimed to be as succinct as possible, even if I used AI to help research its content.
  • I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
  • I have determined whether this bug is also reproducible in a vanilla GRDB project.
  • If possible, I've reproduced the issue using the main branch of this package.
  • This issue hasn't been addressed in an existing GitHub issue or discussion.
Expected behavior

The JSONB column is encoded to CKAsset and parsed as JSONB BLOB.

Actual behavior

No response

Reproducing project

No response

SQLiteData version information

No response

Sharing version information

No response

GRDB version information

No response

Destination operating system

No response

Xcode version information

No response

Swift Compiler version information

Lenguaje dominante
Swift
Estrellas
1.9k
Forks
157
Merge medio
3 min
PR fusionados (30 d)
1

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 pointfreeco/sqlite-data

Todos los issues de pointfreeco/sqlite-data

Issues similares

Más issues de Swift

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.