19 lines
749 B
PL/PgSQL
19 lines
749 B
PL/PgSQL
BEGIN;
|
|||
|
|
|
||
|
|
ALTER TABLE context_snapshot
|
||
|
|
ADD COLUMN preparation_status varchar(16) NOT NULL DEFAULT 'READY',
|
||
|
|
ADD COLUMN preparation_failure_code varchar(80),
|
||
|
|
ADD CONSTRAINT context_snapshot_preparation_status_check
|
||
|
|
CHECK (preparation_status IN ('READY', 'FAILED')),
|
||
|
|
ADD CONSTRAINT context_snapshot_preparation_failure_check
|
||
|
|
CHECK (
|
||
|
|
(preparation_status = 'READY' AND preparation_failure_code IS NULL)
|
||
|
|
OR
|
||
|
|
(preparation_status = 'FAILED' AND NULLIF(btrim(preparation_failure_code), '') IS NOT NULL)
|
||
|
|
);
|
||
|
|
|
||
|
|
COMMENT ON COLUMN context_snapshot.preparation_status IS
|
||
|
|
'Whether the authorized context was prepared. FAILED snapshots retain only a sanitized diagnostic result.';
|
||
|
|
|
||
|
|
COMMIT;
|