-- Pending clarification state for the knowledge Q&A clarification loop. Additive and idempotent on MySQL 8. -- The conversation row keeps at most one suspended clarification; it is resolved (answered, -- given up or replaced by a new topic) on the next turn and never survives the 30-minute expiry. SET @aihr_pending_conversation_exists := ( SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'aihr_knowledge_conversation' ); SET @aihr_pending_clarification_exists := ( SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'aihr_knowledge_conversation' AND column_name = 'pending_clarification_json' ); SET @aihr_pending_clarification_ddl := IF( @aihr_pending_conversation_exists = 1 AND @aihr_pending_clarification_exists = 0, 'ALTER TABLE `aihr_knowledge_conversation` ADD COLUMN `pending_clarification_json` varchar(1000) DEFAULT NULL COMMENT ''挂起的澄清''', 'SELECT 1' ); PREPARE aihr_pending_clarification_stmt FROM @aihr_pending_clarification_ddl; EXECUTE aihr_pending_clarification_stmt; DEALLOCATE PREPARE aihr_pending_clarification_stmt; SET @aihr_pending_conversation_exists := NULL; SET @aihr_pending_clarification_exists := NULL; SET @aihr_pending_clarification_ddl := NULL;