2024-01-15 11:31:03 +00:00
|
|
|
DELIMITER $$
|
2025-02-19 13:46:55 +00:00
|
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `stock`.`stock_refreshAll`()
|
2024-01-15 11:31:03 +00:00
|
|
|
BEGIN
|
|
|
|
/**
|
|
|
|
* Recalculates the entire cache. It takes a considerable time,
|
|
|
|
* please avoid calls to this procedure from commonly used operations.
|
|
|
|
*/
|
|
|
|
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
|
|
BEGIN
|
2025-02-19 13:46:55 +00:00
|
|
|
DO RELEASE_LOCK('stock.stock_sync');
|
2024-01-15 11:31:03 +00:00
|
|
|
RESIGNAL;
|
|
|
|
END;
|
2024-04-08 07:11:40 +00:00
|
|
|
|
2025-02-19 13:46:55 +00:00
|
|
|
IF !GET_LOCK('stock.stock_sync', 30) THEN
|
2024-01-15 11:31:03 +00:00
|
|
|
CALL util.throw('Lock timeout exceeded');
|
|
|
|
END IF;
|
|
|
|
|
2025-02-18 14:58:38 +00:00
|
|
|
DELETE p FROM buyPick p JOIN buy b USING(buyFk);
|
|
|
|
TRUNCATE TABLE buyLot;
|
|
|
|
TRUNCATE TABLE buyOut;
|
2024-01-15 11:31:03 +00:00
|
|
|
|
2025-02-18 14:58:38 +00:00
|
|
|
CALL buyLot_refresh(NULL, NULL);
|
|
|
|
CALL buyOut_refreshSale(NULL, NULL);
|
|
|
|
CALL buyOut_refreshBuy(NULL, NULL);
|
|
|
|
CALL buyOut_refreshOrder(NULL, NULL);
|
2024-01-15 11:31:03 +00:00
|
|
|
|
2025-02-18 14:58:38 +00:00
|
|
|
UPDATE buyOut SET isSync = TRUE;
|
2025-02-19 13:46:55 +00:00
|
|
|
CALL stock_sync;
|
2024-01-15 11:31:03 +00:00
|
|
|
|
2025-02-19 13:46:55 +00:00
|
|
|
DO RELEASE_LOCK('stock.stock_sync');
|
2024-01-15 11:31:03 +00:00
|
|
|
END$$
|
|
|
|
DELIMITER ;
|