mirror of https://github.com/sipwise/db-schema.git
* we are storing uuids so we need some helper functions https://mariadb.com/kb/en/mariadb/guiduuid-performance/ Change-Id: Ife48ae8ddf7c2bf80c98d10e3422a883ed22d29achanges/77/10577/2
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…
Reference in new issue