मेरे पास निम्न फ़ंक्शन है जो मेरे सर्वर पर कई डेटाबेस में उपयोग किया जाता है।
CREATE FUNCTION `fn_strings_intersect`(arg_str1 VARCHAR(255), arg_str2 VARCHAR(255)) RETURNS varchar(255) CHARSET latin1
BEGIN
SET arg_str1 = CONCAT(arg_str1, ",");
SET @var_result = "";
WHILE(INSTR(arg_str1, ",") > 0)
DO
SET @var_val = SUBSTRING_INDEX(arg_str1, ",", 1);
SET arg_str1 = SUBSTRING(arg_str1, INSTR(arg_str1, ",") + 1);
IF(FIND_IN_SET(replace(@var_val, ' ', ''), arg_str2) > 0)
THEN
SET @var_result = CONCAT(@var_result, @var_val, ",");
END IF;
END WHILE;
IF (@var_result = "")
THEN
RETURN false;
ELSE
RETURN true;
END IF;
END;
समय-समय पर, और कोई अनुमान लगाने योग्य तरीके से, फ़ंक्शन सभी डेटाबेस में गिरा दिया जा रहा है।
क्या फ़ंक्शन या संभवतः मेरे MySQL कॉन्फ़िगरेशन के बारे में कुछ है जो इस फ़ंक्शन को गिराए जाने का कारण बन सकता है / हो सकता है?