mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-07-18 09:37:34 +00:00
* postgres: modules structure (#5401) * postgres: schema, field conversions (#5430) * postgres: rework chat list pagination query (#5441) * prepare cabal for merge * restore cabal changes * simplexmq * postgres: implementation wip (tests don't pass) (#5481) * restore ios file * postgres: implementation - tests pass (#5487) * refactor DB options * refactor * line * style * style * refactor * $ * update simplexmq * constraintError * handleDBErrors * fix * remove param * Ok * case * case * case * comment --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
51 lines
1.5 KiB
Haskell
51 lines
1.5 KiB
Haskell
{-# LANGUAGE QuasiQuotes #-}
|
|
|
|
module Simplex.Chat.Store.SQLite.Migrations.M20241125_indexes where
|
|
|
|
import Database.SQLite.Simple (Query)
|
|
import Database.SQLite.Simple.QQ (sql)
|
|
|
|
m20241125_indexes :: Query
|
|
m20241125_indexes =
|
|
[sql|
|
|
-- contacts
|
|
DROP INDEX idx_chat_items_contacts;
|
|
DROP INDEX idx_chat_items_contacts_item_status;
|
|
|
|
CREATE INDEX idx_chat_items_contacts ON chat_items(user_id, contact_id, item_status, created_at);
|
|
|
|
-- groups
|
|
DROP INDEX idx_chat_items_groups;
|
|
DROP INDEX idx_chat_items_groups_item_status;
|
|
|
|
CREATE INDEX idx_chat_items_groups ON chat_items(user_id, group_id, item_status, item_ts);
|
|
CREATE INDEX idx_chat_items_groups_item_ts ON chat_items(user_id, group_id, item_ts);
|
|
|
|
-- notes
|
|
DROP INDEX idx_chat_items_notes_item_status;
|
|
|
|
CREATE INDEX idx_chat_items_notes ON chat_items(user_id, note_folder_id, item_status, created_at);
|
|
|]
|
|
|
|
down_m20241125_indexes :: Query
|
|
down_m20241125_indexes =
|
|
[sql|
|
|
-- contacts
|
|
DROP INDEX idx_chat_items_contacts;
|
|
|
|
CREATE INDEX idx_chat_items_contacts ON chat_items(user_id, contact_id, chat_item_id);
|
|
CREATE INDEX idx_chat_items_contacts_item_status on chat_items (user_id, contact_id, item_status);
|
|
|
|
-- groups
|
|
DROP INDEX idx_chat_items_groups;
|
|
DROP INDEX idx_chat_items_groups_item_ts;
|
|
|
|
CREATE INDEX idx_chat_items_groups ON chat_items(user_id, group_id, item_ts, chat_item_id);
|
|
CREATE INDEX idx_chat_items_groups_item_status on chat_items (user_id, group_id, item_status);
|
|
|
|
-- notes
|
|
DROP INDEX idx_chat_items_notes;
|
|
|
|
CREATE INDEX idx_chat_items_notes_item_status on chat_items (user_id, note_folder_id, item_status);
|
|
|]
|