Migration 0008: retain_until/released_at fuer worm_objects. wormstore.Put setzt zusaetzlich zu chmod 0400 (RET-04) das Linux- immutable-Attribut (chattr +i) - verhindert auch Loeschen/Umbenennen, nicht nur Ueberschreiben, und wirkt anders als chmod auch gegen root ohne explizites chattr -i. Release/Destroy als kontrollierter, an retain_until gebundener Freigabe-/Loeschpfad. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QPsyieCYwvbUBsnN598SbP
9 lines
408 B
SQL
9 lines
408 B
SQL
-- RET-11: Storage-seitige Object-Lock-Sperre. retain_until wird beim
|
|
-- Schreiben festgelegt und ist Voraussetzung fuer Release; released_at
|
|
-- markiert die Freigabe nach Fristablauf, Voraussetzung fuer Destroy.
|
|
ALTER TABLE worm_objects
|
|
ADD COLUMN retain_until TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
ADD COLUMN released_at TIMESTAMPTZ;
|
|
|
|
ALTER TABLE worm_objects ALTER COLUMN retain_until DROP DEFAULT;
|