status-go/protocol/migrations/sqlite/000004_user_messages_compatibility.up.sql
Andrea Maria Piana fd49b0140e
Move to protobuf for Message type (#1706)
* Use a single Message type `v1/message.go` and `message.go` are the same now, and they embed `protobuf.ChatMessage`

* Use `SendChatMessage` for sending chat messages, this is basically the old `Send` but a bit more flexible so we can send different message types (stickers,commands), and not just text.

* Remove dedup from services/shhext. Because now we process in status-protocol, dedup makes less sense, as those messages are going to be processed anyway, so removing for now, we can re-evaluate if bringing it to status-go or not.

* Change the various retrieveX method to a single one:
`RetrieveAll` will be processing those messages that it can process (Currently only `Message`), and return the rest in `RawMessages` (still transit). The format for the response is:
`Chats`: -> The chats updated by receiving the message
`Messages`: -> The messages retrieved (already matched to a chat)
`Contacts`: -> The contacts updated by the messages
`RawMessages` -> Anything else that can't be parsed, eventually as we move everything to status-protocol-go this will go away.
2019-12-05 17:25:34 +01:00

30 lines
980 B
SQL

-- It's important that this table has rowid as we rely on it
-- when implementing infinite-scroll.
CREATE TABLE IF NOT EXISTS user_messages_legacy (
id VARCHAR PRIMARY KEY ON CONFLICT REPLACE,
whisper_timestamp INTEGER NOT NULL,
source TEXT NOT NULL,
destination BLOB,
text VARCHAR NOT NULL,
content_type INT NOT NULL,
username VARCHAR,
timestamp INT NOT NULL,
chat_id VARCHAR NOT NULL,
local_chat_id VARCHAR NOT NULL,
retry_count INT NOT NULL DEFAULT 0,
response_to VARCHAR,
message_type INT,
clock_value INT NOT NULL,
seen BOOLEAN NOT NULL DEFAULT FALSE,
outgoing_status VARCHAR,
parsed_text BLOB,
raw_payload BLOB,
sticker_pack INT,
sticker_hash VARCHAR
);
CREATE INDEX idx_source ON user_messages_legacy(source);
CREATE INDEX idx_search_by_chat_id ON user_messages_legacy(
substr('0000000000000000000000000000000000000000000000000000000000000000' || clock_value, -64, 64) || id, chat_id
);