diff --git a/db_scripts/diff/15310.down b/db_scripts/diff/15310.down new file mode 100644 index 00000000..f69a8e0f --- /dev/null +++ b/db_scripts/diff/15310.down @@ -0,0 +1,5 @@ +USE prosody; + +DROP FUNCTION UuidToBin; +DROP FUNCTION UuidFromBin; +DROP TABLE `sipwise_mam`; diff --git a/db_scripts/diff/15310.up b/db_scripts/diff/15310.up new file mode 100644 index 00000000..d64904d3 --- /dev/null +++ b/db_scripts/diff/15310.up @@ -0,0 +1,43 @@ +USE prosody; +SET autocommit=0; + +DELIMITER // + +CREATE FUNCTION UuidToBin(_uuid BINARY(36)) + RETURNS BINARY(16) + LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY INVOKER +RETURN + UNHEX(CONCAT( + SUBSTR(_uuid, 15, 4), + SUBSTR(_uuid, 10, 4), + SUBSTR(_uuid, 1, 8), + SUBSTR(_uuid, 20, 4), + SUBSTR(_uuid, 25) )); + +CREATE FUNCTION UuidFromBin(_bin BINARY(16)) + RETURNS BINARY(36) + LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY INVOKER +RETURN + LCASE(CONCAT_WS('-', + HEX(SUBSTR(_bin, 5, 4)), + HEX(SUBSTR(_bin, 3, 2)), + HEX(SUBSTR(_bin, 1, 2)), + HEX(SUBSTR(_bin, 9, 2)), + HEX(SUBSTR(_bin, 11)) + )); + +// +DELIMITER ; + +CREATE TABLE IF NOT EXISTS `sipwise_mam` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `username` varchar(255) NOT NULL, + `key` BINARY(16) NOT NULL UNIQUE, + `stanza` text NOT NULL, + `epoch` int(11) NOT NULL, + `with` varchar(255), + PRIMARY KEY (`id`), + INDEX(`username`) +) ENGINE=InnoDB; + +COMMIT;