fix: refs #4409 SQL convenion fixes
gitea/salix/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Juan Ferrer 2025-02-25 10:49:58 +01:00
parent 7049933c6e
commit 38b1e9e493
5 changed files with 21 additions and 10 deletions

View File

@ -3,6 +3,12 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `stock`.`buyLot_refresh`(
`vTable` ENUM('lot', 'entry', 'travel'),
`vId` INT)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
RESIGNAL;
END;
CREATE OR REPLACE TEMPORARY TABLE tBuyAlive
ENGINE = MEMORY
SELECT

View File

@ -6,6 +6,12 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `stock`.`buyOut_refresh`(
BEGIN
DECLARE vLotExists INT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
RESIGNAL;
END;
IF vTable = 'lot' THEN
SET vLotExists = (SELECT COUNT(*) > 0 FROM tLotStatus);

View File

@ -11,17 +11,16 @@ BEGIN
RESIGNAL;
END;
IF !GET_LOCK('stock.stock_sync', 30) THEN
IF NOT GET_LOCK('stock.stock_sync', 30) THEN
CALL util.throw('Lock timeout exceeded');
END IF;
DELETE p FROM buyPick p JOIN buy b USING(lotFk);
DELETE p FROM buyPick p JOIN buyLot l USING(lotFk);
TRUNCATE TABLE buyLot;
TRUNCATE TABLE buyOut;
CALL buyLot_refresh(NULL, NULL);
CALL buyOut_refreshSale(NULL, NULL);
CALL buyOut_refreshBuy(NULL, NULL);
CALL buyOut_refreshSale(NULL, NULL);
CALL buyOut_refreshOrder(NULL, NULL);
UPDATE buyOut SET isSync = TRUE;

View File

@ -11,9 +11,9 @@ BEGIN
DECLARE vItemFk INT;
DECLARE vItems CURSOR FOR
SELECT itemFk, warehouseFk FROM buyLot WHERE !isSync
SELECT itemFk, warehouseFk FROM buyLot WHERE NOT isSync
UNION
SELECT itemFk, warehouseFk FROM buyOut WHERE !isSync;
SELECT itemFk, warehouseFk FROM buyOut WHERE NOT isSync;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET vDone = TRUE;

View File

@ -20,13 +20,13 @@ myProc: BEGIN
DECLARE vLots CURSOR FOR
SELECT lotFk FROM buyLot
WHERE !isSync
WHERE NOT isSync
AND (itemFk, warehouseFk) = (vItemFk, vWarehouseFk)
ORDER BY dated, lotFk;
DECLARE vOuts CURSOR FOR
SELECT outFk FROM buyOut
WHERE !isSync
WHERE NOT isSync
AND (itemFk, warehouseFk) = (vItemFk, vWarehouseFk)
ORDER BY dated, created, outFk;
@ -42,7 +42,7 @@ myProc: BEGIN
SET vLock = CONCAT_WS('/', 'stock.stock_syncItem', vWarehouseFk, vItemFk);
IF !GET_LOCK(vLock, 0) THEN
IF NOT GET_LOCK(vLock, 0) THEN
LEAVE myProc;
END IF;
@ -83,6 +83,6 @@ myProc: BEGIN
END LOOP;
CLOSE vOuts;
UNTIL !vHasPendingSync END REPEAT;
UNTIL NOT vHasPendingSync END REPEAT;
END$$
DELIMITER ;