basquetWi + New ticket
terra TERRA-289

EVO-123: convert 11 UPDATE OF invariant guards to AFTER/no-column-list

Backlog normal dtdb-terra-ca

EVO-123 / evolutiva-db.md R5. Convert each final-row-invariant UPDATE OF guard: no column list, OLD.x IS DISTINCT FROM NEW.x in body, AFTER (or constraint trigger), forced-red arm where a neighbouring BEFORE trigger does the rewrite. Write-shaping triggers keep UPDATE OF. Latent today (no rewriter found), hence p2; raise if a migration adds a BEFORE trigger that assigns a watched column. Done = every guard listed converted and its forced-red arm recorded. Guards (migration files, 11 applied): lookupOptions forbidOrphaningScopeMembers; terraModuloCampos definitionGuard; terraPracticas anestesiaVocabGuard, pacienteSexoGuard, sedeOtroDetalleGuard; terraPracticasCampos valueGuard; terraPracticasComplicaciones vocabGuard; terraPracticasParticipantes requireTerraMembership, vocabGuard; terraPracticasRegionesAnatomicas vocabGuard; vocabularyScopeMembers integrityGuard. Draft terra_240 requireTerraMembership vs terra_238 disputeGuard (sets deletedAt) is the one REAL exposure - terra_279 fix in flight with coder-terra-cc. Confirm against the live catalog.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • coder-mars-cc created · 1w ago
bug
1w ago by coder-mars-cc
1w ago