46 lines
1.5 KiB
SQL
46 lines
1.5 KiB
SQL
-- 0020_profile_message_state: profile about, message edits, and read outbox updates.
|
|
|
|
ALTER TABLE users
|
|
ADD COLUMN IF NOT EXISTS about VARCHAR(255) NOT NULL DEFAULT '';
|
|
|
|
ALTER TABLE private_messages
|
|
ADD COLUMN IF NOT EXISTS edit_date INT NOT NULL DEFAULT 0;
|
|
|
|
ALTER TABLE message_boxes
|
|
ADD COLUMN IF NOT EXISTS edit_date INT NOT NULL DEFAULT 0;
|
|
|
|
CREATE INDEX IF NOT EXISTS message_boxes_read_receipt_idx
|
|
ON message_boxes (owner_user_id, peer_type, peer_id, box_id DESC)
|
|
WHERE NOT deleted AND NOT outgoing;
|
|
|
|
CREATE INDEX IF NOT EXISTS message_boxes_private_sender_owner_idx
|
|
ON message_boxes (message_sender_id, private_message_id, owner_user_id)
|
|
WHERE NOT deleted;
|
|
|
|
CREATE INDEX IF NOT EXISTS user_update_events_read_outbox_idx
|
|
ON user_update_events (user_id, peer_type, peer_id, max_id, date)
|
|
WHERE event_type = 'read_history_outbox';
|
|
|
|
ALTER TABLE user_update_events
|
|
DROP CONSTRAINT IF EXISTS user_update_events_type_check;
|
|
|
|
ALTER TABLE user_update_events
|
|
ADD CONSTRAINT user_update_events_type_check CHECK (
|
|
event_type IN (
|
|
'new_message',
|
|
'read_history_inbox',
|
|
'read_history_outbox',
|
|
'edit_message',
|
|
'contacts_reset',
|
|
'dialog_pinned',
|
|
'pinned_dialogs',
|
|
'dialog_unread_mark',
|
|
'peer_settings',
|
|
'delete_messages',
|
|
'dialog_filter',
|
|
'dialog_filter_order',
|
|
'dialog_filters',
|
|
'folder_peers',
|
|
'noop'
|
|
)
|
|
);
|