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
changes/77/10577/2
Victor Seva 9 years ago
parent af22780bd6
commit ba265f996d

@ -0,0 +1,5 @@
USE prosody;
DROP FUNCTION UuidToBin;
DROP FUNCTION UuidFromBin;
DROP TABLE `sipwise_mam`;

@ -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;
Loading…
Cancel
Save