diff --git a/src/db/events-db.cpp b/src/db/events-db.cpp index 65da14503..738a9e798 100644 --- a/src/db/events-db.cpp +++ b/src/db/events-db.cpp @@ -450,6 +450,18 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {} " ON DELETE CASCADE" ")"; + *session << + "CREATE TABLE IF NOT EXISTS message_content_app_data (" + " message_content_id INT UNSIGNED NOT NULL," + " key VARCHAR(255)," + " data BLOB," + + " PRIMARY KEY (message_content_id, key)," + " FOREIGN KEY (message_content_id)" + " REFERENCES message_content(id)" + " ON DELETE CASCADE" + ")"; + *session << "CREATE TABLE IF NOT EXISTS message_crypto_data (" " message_event_id INT UNSIGNED NOT NULL," @@ -649,7 +661,7 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {} L_BEGIN_LOG_EXCEPTION soci::session *session = d->dbSession.getBackendSession(); - *session << "DELETE FROM event WHERE id = (" + *session << "DELETE FROM event WHERE id IN (" " SELECT event_id FROM message_event WHERE chat_room_id = (" " SELECT peer_sip_address_id FROM chat_room WHERE peer_sip_address_id = (" " SELECT id FROM sip_address WHERE value = :peerAddress"