Files
DayZ-Epoch/Server Files/SQL/1.0.6.2_Updates.sql
2017-11-04 16:14:16 -04:00

45 lines
996 B
SQL

/*
DayZ Epoch 1.0.6.2 Updates
RUN THIS FILE IF UPDATING AN EXISTING 1061 DATABASE TO 1062.
NEW DATABASES SHOULD USE EPOCH.SQL INSTEAD.
EXISTING 1051 DATABASES SHOULD RUN 1.0.6_UPDATES.SQL FIRST, THEN RUN THIS FILE.
*/
/*
THIS PROCEDURE IS REQUIRED FOR 1062 AND RETURNS THE OBJECT ID MUCH MORE EFFICIENTLY THAN THE METHOD IN 1061 SQF
*/
DROP procedure IF EXISTS `retObjID`;
DELIMITER $$
CREATE PROCEDURE `retObjID`(
IN objTableName VARCHAR(256),
IN SID INT(11),
IN UID bigint(24),
OUT OID INT(11)unsigned
)
BEGIN
DECLARE x INT;
declare sqlstr VARCHAR(256);
SET @OID = 0;
SET @x = 1;
SET @sqlstr = CONCAT('SELECT `ObjectID` from `', objTableName ,'` where `Instance` = ', SID ,' AND `ObjectUID` = ', UID ,' INTO @OID');
PREPARE stmt FROM @sqlstr;
WHILE (@x <= 5) DO
EXECUTE stmt;
IF (@OID > 0) then
SET @x = 6;
else
SET @x = @x + 1;
DO sleep(0.1);
END IF;
END WHILE;
DEALLOCATE PREPARE stmt;
SET OID = @OID;
SELECT @OID;
END;$$
DELIMITER ;