From c857d1abb710d720d95ec967310f1e5a5e2a3278 Mon Sep 17 00:00:00 2001 From: "heavyrain.lee" Date: Wed, 12 Jun 2019 22:36:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=A1=A8=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0contenttype?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../h2/V8__add_content_type_in_messages.sql | 1 + .../V8__add_content_type_in_messages.sql | 36 +++++++++++++++++++ .../moquette/persistence/DatabaseStore.java | 7 ++-- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100755 broker/migrate/h2/V8__add_content_type_in_messages.sql create mode 100755 broker/migrate/mysql/V8__add_content_type_in_messages.sql diff --git a/broker/migrate/h2/V8__add_content_type_in_messages.sql b/broker/migrate/h2/V8__add_content_type_in_messages.sql new file mode 100755 index 00000000..86f9975f --- /dev/null +++ b/broker/migrate/h2/V8__add_content_type_in_messages.sql @@ -0,0 +1 @@ +alter table `t_messages` add column `_content_type` int(11) NOT NULL DEFAULT '0'; diff --git a/broker/migrate/mysql/V8__add_content_type_in_messages.sql b/broker/migrate/mysql/V8__add_content_type_in_messages.sql new file mode 100755 index 00000000..6be57b28 --- /dev/null +++ b/broker/migrate/mysql/V8__add_content_type_in_messages.sql @@ -0,0 +1,36 @@ +alter table `t_messages_0` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_1` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_2` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_3` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_4` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_5` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_6` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_7` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_8` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_9` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_10` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_11` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_12` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_13` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_14` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_15` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_16` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_17` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_18` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_19` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_20` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_21` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_22` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_23` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_24` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_25` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_26` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_27` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_28` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_29` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_30` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_31` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_32` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_33` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_34` add column `_content_type` int(11) NOT NULL DEFAULT '0'; +alter table `t_messages_35` add column `_content_type` int(11) NOT NULL DEFAULT '0'; diff --git a/broker/src/main/java/io/moquette/persistence/DatabaseStore.java b/broker/src/main/java/io/moquette/persistence/DatabaseStore.java index d758770e..9a0157e6 100644 --- a/broker/src/main/java/io/moquette/persistence/DatabaseStore.java +++ b/broker/src/main/java/io/moquette/persistence/DatabaseStore.java @@ -384,11 +384,12 @@ public class DatabaseStore { try { connection = DBUtil.getConnection(); String sql = "insert into " + MessageShardingUtil.getMessageTable(message.getMessageId()) + - " (`_mid`, `_from`, `_type`, `_target`, `_line`, `_data`, `_searchable_key`, `_dt`) values(?, ?, ?, ?, ?, ?, ?, ?)" + + " (`_mid`, `_from`, `_type`, `_target`, `_line`, `_data`, `_searchable_key`, `_dt`, `_content_type`) values(?, ?, ?, ?, ?, ?, ?, ?, ?)" + " ON DUPLICATE KEY UPDATE " + "`_data` = ?," + "`_searchable_key` = ?," + - "`_dt` = ?"; + "`_dt` = ?," + + "`_content_type` = ?"; String searchableContent = message.getContent().getSearchableContent() == null ? "" : message.getContent().getSearchableContent(); @@ -404,10 +405,12 @@ public class DatabaseStore { statement.setBlob(index++, blob); statement.setString(index++, searchableContent); statement.setTimestamp(index++, new Timestamp(message.getServerTimestamp())); + statement.setInt(index++, message.getContent().getType()); statement.setBlob(index++, blob); statement.setString(index++, searchableContent); statement.setTimestamp(index++, new Timestamp(message.getServerTimestamp())); + statement.setInt(index++, message.getContent().getType()); int count = statement.executeUpdate(); LOG.info("Update rows {}", count);