3eabd45882
- ASRX handler no longer stores duplicate 'asr' pre_chunks - Pre_chunks storage made idempotent (delete-before-insert) - Rule 1 + trace_ingest changed to query 'asrx' not 'asr' - Trace chunks removed (dynamic from TKG/Qdrant) - TKG scroll_face_points fixed: trace_id >= 1 (not == 1) - TKG AsrxSegmentEntry: start/end -> start_time/end_time (match ASRX JSON) - Unregister error handling: log instead of silent discard - Add publish_pipeline_progress calls at each pipeline stage (processors, rule1, face_trace, identity_agent, TKG, rule2, completion)
49 lines
2.3 KiB
SQL
49 lines
2.3 KiB
SQL
-- ================================================================
|
|
-- Migration 036: ASR/ASRX and Face Detailed Status
|
|
-- Version: 036
|
|
-- Date: 2026-06-26
|
|
-- Description: Add asr_status and face_status columns for detailed result status
|
|
-- to support unified output SOP
|
|
-- ================================================================
|
|
|
|
-- 36.1: Add asr_status column to processor_results
|
|
ALTER TABLE processor_results ADD COLUMN IF NOT EXISTS asr_status VARCHAR(20);
|
|
|
|
COMMENT ON COLUMN processor_results.asr_status IS
|
|
'ASR-specific status: no_audio_track, silent_audio, has_transcript, processing';
|
|
|
|
-- 36.2: Add check constraint for asr_status
|
|
ALTER TABLE processor_results DROP CONSTRAINT IF EXISTS chk_processor_results_asr_status;
|
|
ALTER TABLE processor_results ADD CONSTRAINT chk_processor_results_asr_status
|
|
CHECK (asr_status IS NULL OR asr_status IN ('no_audio_track', 'silent_audio', 'has_transcript', 'processing'));
|
|
|
|
-- 36.3: Add segment_count column for quick reference
|
|
ALTER TABLE processor_results ADD COLUMN IF NOT EXISTS segment_count INTEGER DEFAULT 0;
|
|
|
|
COMMENT ON COLUMN processor_results.segment_count IS
|
|
'Number of transcript segments (ASR) or speaker segments (ASRX)';
|
|
|
|
-- 36.4: Create index for asr_status queries
|
|
CREATE INDEX IF NOT EXISTS idx_processor_results_asr_status ON processor_results(asr_status)
|
|
WHERE asr_status IS NOT NULL;
|
|
|
|
-- 36.5: Add face_status column to processor_results
|
|
ALTER TABLE processor_results ADD COLUMN IF NOT EXISTS face_status VARCHAR(20);
|
|
|
|
COMMENT ON COLUMN processor_results.face_status IS
|
|
'Face detection status: no_faces, has_faces, processing';
|
|
|
|
-- 36.6: Add check constraint for face_status
|
|
ALTER TABLE processor_results DROP CONSTRAINT IF EXISTS chk_processor_results_face_status;
|
|
ALTER TABLE processor_results ADD CONSTRAINT chk_processor_results_face_status
|
|
CHECK (face_status IS NULL OR face_status IN ('no_faces', 'has_faces', 'processing'));
|
|
|
|
-- 36.7: Add total_faces column for quick reference
|
|
ALTER TABLE processor_results ADD COLUMN IF NOT EXISTS total_faces INTEGER DEFAULT 0;
|
|
|
|
COMMENT ON COLUMN processor_results.total_faces IS
|
|
'Total number of faces detected across all frames';
|
|
|
|
-- 36.8: Create index for face_status queries
|
|
CREATE INDEX IF NOT EXISTS idx_processor_results_face_status ON processor_results(face_status)
|
|
WHERE face_status IS NOT NULL; |