Jake Vanderwerf
2026-01-28 8c6502de2f8ec2bd8382cd6945c327d7be400e14
inc/registry/CheckCustomTables.php
@@ -445,29 +445,27 @@
            `type` varchar(50) NOT NULL,
            `user_id` {$this->userIDType} NOT NULL,
            `request_data` JSON NOT NULL,
            `request_data` JSON NOT NULL CHECK (JSON_VALID(request_data)),
            `total_items` int(11) NOT NULL DEFAULT 1,
            `processed_items` int(11) DEFAULT 0,
            `failed_items` JSON,
            `priority` enum('low', 'normal', 'high') DEFAULT 'normal',
//            `status` enum('pending', 'scheduled', 'processing','failed', 'failed_permanent', 'completed', 'completed_with_errors') DEFAULT 'pending',
            `state` enum('pending', 'scheduled', 'processing', 'completed'),
            `outcome` enum('success', 'partial', 'failed','failed_permanent'),
            `priority` ENUM('high', 'normal', 'low') DEFAULT 'normal',
            `state` enum('pending', 'scheduled', 'processing', 'completed') DEFAULT 'pending',
            `outcome` enum('pending', 'success', 'partial', 'failed','failed_permanent') DEFAULT 'pending',
         `retries` int(11) DEFAULT 0,
            `last_error_hash` CHAR(32) DEFAULT NULL,
            `error_message` text,
         `scheduled_at` datetime DEFAULT CURRENT_TIMESTAMP,
         `scheduled_at` datetime DEFAULT NULL,
            `started_at` datetime DEFAULT CURRENT_TIMESTAMP,
            `completed_at` datetime DEFAULT NULL,
            `metadata` JSON DEFAULT NULL,
            `result` JSON,
            `dependencies` JSON,
//            `merge` enum('merge', 'append', 'replace') DEFAULT 'merge',
            `user_dismissed` tinyint(1) DEFAULT 0,
            `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
@@ -476,26 +474,36 @@
            KEY `idx_run_queue` (state, priority, scheduled_at),
         KEY `idx_user_ops` (user_id, state),
         KEY `idx_user_type_pending` (user_id, type, state),
         KEY `idx_completed_at` (completed_at)
         KEY `idx_completed_at` (completed_at),
         KEY `idx_processing_stuck` (`state`, `started_at`)
            )",
      'stats__operation_queue' => "(
            `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
            `date` date NOT NULL,
            `type` varchar(50) NOT NULL,
            `total_operations` int NOT NULL DEFAULT 0,
            `successful_operations` int NOT NULL DEFAULT 0,
            `failed_operations` int NOT NULL DEFAULT 0,
            `average_duration` float DEFAULT NULL,
            `total_items_processed` int NOT NULL DEFAULT 0,
            `peak_queue_size` int NOT NULL DEFAULT 0,
            `peak_memory_usage` int DEFAULT NULL,
            `peak_cpu_usage` float DEFAULT NULL,
            `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
            PRIMARY KEY (`id`),
            UNIQUE KEY (`date`, `type`),
            KEY `date_idx` (`date`),
            KEY `type_idx` (`type`)
         `id` bigint unsigned AUTO_INCREMENT,
         `date` date NOT NULL,
         `type` varchar(50) NOT NULL,
         `total_operations` int NOT NULL DEFAULT 0,
         `successful_operations` int NOT NULL DEFAULT 0,
         `partial_operations` int NOT NULL DEFAULT 0,
         `failed_operations` int NOT NULL DEFAULT 0,
         `failed_permanent_operations` int NOT NULL DEFAULT 0,
         `total_items_processed` int NOT NULL DEFAULT 0,
         `average_duration` float DEFAULT NULL,
         `max_duration` int DEFAULT NULL,
         `peak_queue_size` int NOT NULL DEFAULT 0,
         `peak_memory_usage` int DEFAULT NULL,
         `peak_cpu_usage` float DEFAULT NULL,
         `created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
         PRIMARY KEY (`id`),
         UNIQUE KEY (date, type),
         KEY `date_idx` (date),
         KEY `type_idx` (type)
        )"
        ];
    }