Driver edge cases found while editing rows (PostgreSQL arrays of typmod domains, SQLite NULL keys, MySQL FLOAT keys)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start with docs/notes/plan-03-followups.md and inspect src-tauri/src/driver/{postgres,mysql,sqlite}.rs, src-tauri/src/driver/dml.rs, and src-tauri/src/manager.rs alongside the related tests in src-tauri/tests/. Run pnpm test:rust on the test stack to reproduce the listed driver cases. Done means each item has an integration test and is fixed or explicitly declined in the PR; run the listed test, lint, and Rust checks for the changes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
Deferred from plan 3 Tasks 1 and 3. Grid edits cast values to the column's base type so the database enforces modifiers; a few column types still misbehave or cannot be edited. Related to (not a duplicate of) the driver edge-case issues for plans 1-2.
To do
- PostgreSQL arrays of a domain with a modifier (
d5[]overvarchar(5)) are still cast to the domain's array type: resolve to the element base type with[]. - SQLite rows whose (non-INTEGER) primary key is NULL cannot be edited: add a rowid fallback (
rowidinRowKey). - MySQL
FLOATkey columns never compare equal (edits end as stale row): compare with a cast or refuse edit by that key with a clear message.DOUBLEis fine. - SQLite column without type affinity holding an integer key reports a false stale row; a PostgreSQL
BEFOREtrigger returning NULL is reported as a stale row too. suggests_schema_changematches English error messages: use SQLSTATE / error codes so localized servers invalidate cached metadata.- The first commit after MySQL killed an idle browse connection fails with
ConnectionLostand is shown as an unknown outcome though nothing was sent. - Missing tests: PostgreSQL partial / expression unique indexes, PG
type_nameof arrays / enums /varchar/timestamptz, MySQLSTOREDgenerated columns, the 16 MiBcell_valuecap on MySQL / MariaDB. relation()defaults topublicinstead ofcurrent_schema(); MariaDBSEQUENCEclassed as a table; PostgreSQL 18 virtual generated columns.
Acceptance criteria
- Each item fixed with an integration test (
pnpm test:ruston the test stack) or explicitly declined in the PR. -
pnpm test && pnpm lintgreen (pluscargo clippy --all-targets -- -D warningsandpnpm test:rustwhen Rust changes)
Likely files touched
src-tauri/src/driver/{postgres,mysql,sqlite}.rs,src-tauri/src/driver/dml.rssrc-tauri/src/manager.rssrc-tauri/tests/
Linked docs
docs/notes/plan-03-followups.md(Deferred Task 1, Task 3)
- Lenguaje dominante
- TypeScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 1 h 19 min
- PR fusionados (30 d)
- 28
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Cemoche/tablemax
-
area:frontend size:S status:ready type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
area:backend size:S status:ready type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
area:infra good first issue size:S status:ready type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
area:docs good first issue size:S status:ready type:task
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:infra size:S status:ready type:task
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
Todos los issues de Cemoche/tablemax
Issues similares
-
[BUG] rag: sentence content can cross the reported sentence boundariesPosiblemente ocupada @LJK-ikun la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
README: the Resource URI Schemas example's file://documents/* pattern only matches that literal URIAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
platformatic/mcp#361 ·
Los mantenedores suelen responder en 1 día
-
frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Push: sem service worker ou sem VAPID, o interruptor de Notificações fica ligado sem avisar nadaAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
melgarafael/DeskcommCRM#3164 ·
Los mantenedores suelen responder en 1 día