mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
Use BLOB instead of TEXT on mysql in stanza storage
Mysql 'utf8' do not support 4-bytes UTF8 chars. Characters like 'KISS MARK' (U+1F48B) causes mysql to cut the string at that point. There is utf8mb4 encoding available on newer mysql versions that do support 4-bytes utf8. But for storing stanzas, that doesn't need to be indexed or searched or inspected in any way, it was easier to use BLOB (the bytes stored are utf8 encoded anyway, like all XMPP), and avoids the need to redefine indexes (as allowed size is shorter on utf8mb4) or having mixed utf8 and utf8mb4 encodings on the same table.
This commit is contained in:
parent
e3005f68e7
commit
aaa718741e
@ -77,7 +77,7 @@ CREATE INDEX i_sr_user_grp ON sr_user(grp);
|
|||||||
|
|
||||||
CREATE TABLE spool (
|
CREATE TABLE spool (
|
||||||
username varchar(250) NOT NULL,
|
username varchar(250) NOT NULL,
|
||||||
xml text NOT NULL,
|
xml BLOB NOT NULL,
|
||||||
seq BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE,
|
seq BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE,
|
||||||
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
) ENGINE=InnoDB CHARACTER SET utf8;
|
) ENGINE=InnoDB CHARACTER SET utf8;
|
||||||
|
Loading…
Reference in New Issue
Block a user