DTD identifier | Deterministic | Data access | Mode |
---|---|---|---|
int(11) | NO | MODIFIES SQL DATA |
Save content
CREATE DEFINER=`root`@`localhost` FUNCTION `save_content`(vDocumentNo INTEGER, vContentTypeNo INTEGER, vText MEDIUMTEXT, vData MEDIUMBLOB, vBlock VARCHAR(16), vVersionDays INTEGER, vVersionMinCount INTEGER, vVersionMaxCount INTEGER, vResponseType INTEGER) RETURNS int(11) MODIFIES SQL DATA COMMENT 'Save content' BEGIN DECLARE vMatch VARCHAR(127); UPDATE content SET Version = Version + 1, TS = TS WHERE DocumentNo = vDocumentNo AND Block = vBlock ORDER BY `Version` DESC; INSERT content (DocumentNo, ContentTypeNo, `Text`, `Data`, Block) VALUES (vDocumentNo, vContentTypeNo, vText, vData, vBlock); DELETE FROM content WHERE (DATEDIFF(CURRENT_DATE, TS) > vVersionDays AND `Version` > vVersionMinCount) OR (`Version` > vVersionMaxCount); DELETE FROM documentcache WHERE DocNo = vDocumentNo; SELECT find_doc_path(`No`) INTO vMatch FROM document WHERE `No` = vDocumentNo LIMIT 1; SET vMatch = CONCAT(vMatch, '.%'); DELETE FROM `cache` WHERE `Type` = vResponseType AND `Path` LIKE vMatch; RETURN 1; END