From ba265f996dc185f1f454bfcdbdd15e4287fca6e1 Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Wed, 4 Jan 2017 11:19:44 +0100 Subject: [PATCH] TT#8297 prosody: add sipwise_mam table to store mam stanzas * we are storing uuids so we need some helper functions https://mariadb.com/kb/en/mariadb/guiduuid-performance/ Change-Id: Ife48ae8ddf7c2bf80c98d10e3422a883ed22d29a --- db_scripts/diff/15310.down | 5 +++++ db_scripts/diff/15310.up | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 db_scripts/diff/15310.down create mode 100644 db_scripts/diff/15310.up 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;