|
|
|
@@ -22,6 +22,40 @@ Query:
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH contact_requests USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_sender_group_member_id (sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH received_probes USING COVERING INDEX idx_received_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probe_hashes USING COVERING INDEX idx_sent_probe_hashes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probes USING COVERING INDEX idx_sent_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_snd_item_statuses USING COVERING INDEX idx_group_snd_item_statuses_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_item_moderations USING COVERING INDEX idx_chat_item_moderations_moderator_member_id (moderator_member_id=?)
|
|
|
|
|
SEARCH chat_item_reactions USING COVERING INDEX idx_chat_item_reactions_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_scope_group_member_id (group_scope_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_item_deleted_by_group_member_id (item_deleted_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH pending_group_messages USING COVERING INDEX idx_pending_group_messages_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_author_group_member_id (author_group_member_id=?)
|
|
|
|
|
SEARCH connections USING COVERING INDEX idx_connections_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH rcv_files USING COVERING INDEX idx_rcv_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH snd_files USING COVERING INDEX idx_snd_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
SEARCH group_members USING COVERING INDEX idx_group_members_invited_by_group_member_id (invited_by_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_grp_direct_inv_from_group_member_id (grp_direct_inv_from_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_contact_group_member_id (contact_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE groups
|
|
|
|
|
SET chat_ts = ?,
|
|
|
|
@@ -42,10 +76,10 @@ SEARCH groups USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, sent_inv_queue_info, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
@@ -113,14 +147,14 @@ Query:
|
|
|
|
|
g.business_chat, g.business_member_id, g.customer_member_id,
|
|
|
|
|
g.ui_themes, g.summary_current_members_count, g.custom_data, g.chat_item_ttl, g.members_require_attention, g.via_group_link_uri,
|
|
|
|
|
-- GroupInfo {membership}
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.index_in_group, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.member_status, mu.show_messages, mu.member_restriction, mu.is_chat_relay, mu.invited_by, mu.invited_by_group_member_id, mu.local_display_name, mu.contact_id, mu.contact_profile_id, pu.contact_profile_id,
|
|
|
|
|
-- GroupInfo {membership = GroupMember {memberProfile}}
|
|
|
|
|
pu.display_name, pu.full_name, pu.short_descr, pu.image, pu.contact_link, pu.chat_peer_type, pu.local_alias, pu.preferences,
|
|
|
|
|
mu.created_at, mu.updated_at,
|
|
|
|
|
mu.support_chat_ts, mu.support_chat_items_unread, mu.support_chat_items_member_attention, mu.support_chat_items_mentions, mu.support_chat_last_msg_from_member_ts,
|
|
|
|
|
-- from GroupMember
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts
|
|
|
|
@@ -224,18 +258,11 @@ Plan:
|
|
|
|
|
SEARCH contact_requests USING COVERING INDEX sqlite_autoindex_contact_requests_1 (user_id=? AND local_display_name=?)
|
|
|
|
|
SEARCH users USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_member_intros
|
|
|
|
|
(re_group_member_id, to_group_member_id, intro_status, intro_chat_protocol_version, created_at, updated_at)
|
|
|
|
|
VALUES (?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by,
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
@@ -266,10 +293,44 @@ SEARCH contacts USING COVERING INDEX idx_contacts_contact_group_member_id (conta
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, sent_inv_queue_info, created_at, updated_at,
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, member_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_sender_group_member_id (sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH received_probes USING COVERING INDEX idx_received_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probe_hashes USING COVERING INDEX idx_sent_probe_hashes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probes USING COVERING INDEX idx_sent_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_snd_item_statuses USING COVERING INDEX idx_group_snd_item_statuses_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_item_moderations USING COVERING INDEX idx_chat_item_moderations_moderator_member_id (moderator_member_id=?)
|
|
|
|
|
SEARCH chat_item_reactions USING COVERING INDEX idx_chat_item_reactions_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_scope_group_member_id (group_scope_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_item_deleted_by_group_member_id (item_deleted_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH pending_group_messages USING COVERING INDEX idx_pending_group_messages_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_author_group_member_id (author_group_member_id=?)
|
|
|
|
|
SEARCH connections USING COVERING INDEX idx_connections_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH rcv_files USING COVERING INDEX idx_rcv_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH snd_files USING COVERING INDEX idx_snd_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
SEARCH group_members USING COVERING INDEX idx_group_members_invited_by_group_member_id (invited_by_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_grp_direct_inv_from_group_member_id (grp_direct_inv_from_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_contact_group_member_id (contact_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, member_xcontact_id, member_welcome_shared_msg_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
@@ -431,9 +492,9 @@ SEARCH users USING COVERING INDEX sqlite_autoindex_users_1 (contact_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by,
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
@@ -464,42 +525,8 @@ SEARCH contacts USING COVERING INDEX idx_contacts_contact_group_member_id (conta
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, member_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_sender_group_member_id (sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH received_probes USING COVERING INDEX idx_received_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probe_hashes USING COVERING INDEX idx_sent_probe_hashes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probes USING COVERING INDEX idx_sent_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_snd_item_statuses USING COVERING INDEX idx_group_snd_item_statuses_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_item_moderations USING COVERING INDEX idx_chat_item_moderations_moderator_member_id (moderator_member_id=?)
|
|
|
|
|
SEARCH chat_item_reactions USING COVERING INDEX idx_chat_item_reactions_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_scope_group_member_id (group_scope_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_item_deleted_by_group_member_id (item_deleted_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH pending_group_messages USING COVERING INDEX idx_pending_group_messages_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_author_group_member_id (author_group_member_id=?)
|
|
|
|
|
SEARCH connections USING COVERING INDEX idx_connections_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH rcv_files USING COVERING INDEX idx_rcv_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH snd_files USING COVERING INDEX idx_snd_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
SEARCH group_members USING COVERING INDEX idx_group_members_invited_by_group_member_id (invited_by_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_grp_direct_inv_from_group_member_id (grp_direct_inv_from_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_contact_group_member_id (contact_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, member_xcontact_id, member_welcome_shared_msg_id, created_at, updated_at,
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
@@ -844,7 +871,7 @@ SEARCH s USING COVERING INDEX idx_group_snd_item_statuses_chat_item_id_group_mem
|
|
|
|
|
Query:
|
|
|
|
|
SELECT i.chat_item_id,
|
|
|
|
|
-- GroupMember
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category,
|
|
|
|
|
m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay, m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id,
|
|
|
|
|
p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
@@ -972,10 +999,11 @@ Plan:
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
(group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector,
|
|
|
|
|
member_restriction, is_chat_relay, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
@@ -1072,7 +1100,7 @@ Query:
|
|
|
|
|
-- CIMeta forwardedByMember, showGroupAsSender
|
|
|
|
|
i.forwarded_by_group_member_id, i.show_group_as_sender,
|
|
|
|
|
-- GroupMember
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category,
|
|
|
|
|
m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay, m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id,
|
|
|
|
|
p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
@@ -1080,13 +1108,13 @@ Query:
|
|
|
|
|
-- quoted ChatItem
|
|
|
|
|
ri.chat_item_id, i.quoted_shared_msg_id, i.quoted_sent_at, i.quoted_content, i.quoted_sent,
|
|
|
|
|
-- quoted GroupMember
|
|
|
|
|
rm.group_member_id, rm.group_id, rm.member_id, rm.peer_chat_min_version, rm.peer_chat_max_version, rm.member_role, rm.member_category,
|
|
|
|
|
rm.group_member_id, rm.group_id, rm.index_in_group, rm.member_id, rm.peer_chat_min_version, rm.peer_chat_max_version, rm.member_role, rm.member_category,
|
|
|
|
|
rm.member_status, rm.show_messages, rm.member_restriction, rm.is_chat_relay, rm.invited_by, rm.invited_by_group_member_id, rm.local_display_name, rm.contact_id, rm.contact_profile_id, rp.contact_profile_id,
|
|
|
|
|
rp.display_name, rp.full_name, rp.short_descr, rp.image, rp.contact_link, rp.chat_peer_type, rp.local_alias, rp.preferences,
|
|
|
|
|
rm.created_at, rm.updated_at,
|
|
|
|
|
rm.support_chat_ts, rm.support_chat_items_unread, rm.support_chat_items_member_attention, rm.support_chat_items_mentions, rm.support_chat_last_msg_from_member_ts,
|
|
|
|
|
-- deleted by GroupMember
|
|
|
|
|
dbm.group_member_id, dbm.group_id, dbm.member_id, dbm.peer_chat_min_version, dbm.peer_chat_max_version, dbm.member_role, dbm.member_category,
|
|
|
|
|
dbm.group_member_id, dbm.group_id, dbm.index_in_group, dbm.member_id, dbm.peer_chat_min_version, dbm.peer_chat_max_version, dbm.member_role, dbm.member_category,
|
|
|
|
|
dbm.member_status, dbm.show_messages, dbm.member_restriction, dbm.is_chat_relay, dbm.invited_by, dbm.invited_by_group_member_id, dbm.local_display_name, dbm.contact_id, dbm.contact_profile_id, dbp.contact_profile_id,
|
|
|
|
|
dbp.display_name, dbp.full_name, dbp.short_descr, dbp.image, dbp.contact_link, dbp.chat_peer_type, dbp.local_alias, dbp.preferences,
|
|
|
|
|
dbm.created_at, dbm.updated_at,
|
|
|
|
@@ -1165,24 +1193,6 @@ SEARCH c USING INDEX idx_connections_via_contact_uri_hash (user_id=? AND via_con
|
|
|
|
|
SEARCH ct USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH cp USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT 1
|
|
|
|
|
FROM group_member_intros
|
|
|
|
|
WHERE
|
|
|
|
|
(
|
|
|
|
|
(re_group_member_id = ? AND to_group_member_id = ?) OR
|
|
|
|
|
(re_group_member_id = ? AND to_group_member_id = ?)
|
|
|
|
|
)
|
|
|
|
|
AND intro_status NOT IN (?,?,?)
|
|
|
|
|
LIMIT 1
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
MULTI-INDEX OR
|
|
|
|
|
INDEX 1
|
|
|
|
|
SEARCH group_member_intros USING INDEX sqlite_autoindex_group_member_intros_1 (re_group_member_id=? AND to_group_member_id=?)
|
|
|
|
|
INDEX 2
|
|
|
|
|
SEARCH group_member_intros USING INDEX sqlite_autoindex_group_member_intros_1 (re_group_member_id=? AND to_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT 1 FROM users
|
|
|
|
|
WHERE (user_id = ? AND local_display_name = ?)
|
|
|
|
@@ -1429,28 +1439,6 @@ Plan:
|
|
|
|
|
SEARCH g USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH i USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT i.re_group_member_id
|
|
|
|
|
FROM group_member_intros i
|
|
|
|
|
JOIN group_members m ON m.group_member_id = i.re_group_member_id
|
|
|
|
|
WHERE i.to_group_member_id = ? AND i.intro_status NOT IN (?,?,?)
|
|
|
|
|
AND (m.contact_id IS NULL OR m.contact_id != ?) AND m.member_role IN (?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH i USING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
SEARCH m USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT i.to_group_member_id
|
|
|
|
|
FROM group_member_intros i
|
|
|
|
|
JOIN group_members m ON m.group_member_id = i.to_group_member_id
|
|
|
|
|
WHERE i.re_group_member_id = ? AND i.intro_status NOT IN (?,?,?)
|
|
|
|
|
AND (m.contact_id IS NULL OR m.contact_id != ?) AND m.member_role IN (?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH i USING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
SEARCH m USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT member_status
|
|
|
|
|
FROM group_members
|
|
|
|
@@ -1619,44 +1607,10 @@ SEARCH users USING COVERING INDEX sqlite_autoindex_users_1 (contact_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
( group_id, member_id, member_role, member_category, member_status, invited_by,
|
|
|
|
|
( group_id, index_in_group, member_id, member_role, member_category, member_status, member_relations_vector, invited_by,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_sender_group_member_id (sender_group_member_id=?)
|
|
|
|
|
SEARCH delivery_tasks USING COVERING INDEX idx_delivery_tasks_job_scope_support_gm_id (job_scope_support_gm_id=?)
|
|
|
|
|
SEARCH received_probes USING COVERING INDEX idx_received_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probe_hashes USING COVERING INDEX idx_sent_probe_hashes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH sent_probes USING COVERING INDEX idx_sent_probes_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_snd_item_statuses USING COVERING INDEX idx_group_snd_item_statuses_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_item_moderations USING COVERING INDEX idx_chat_item_moderations_moderator_member_id (moderator_member_id=?)
|
|
|
|
|
SEARCH chat_item_reactions USING COVERING INDEX idx_chat_item_reactions_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_scope_group_member_id (group_scope_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_item_deleted_by_group_member_id (item_deleted_by_group_member_id=?)
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH pending_group_messages USING COVERING INDEX idx_pending_group_messages_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_forwarded_by_group_member_id (forwarded_by_group_member_id=?)
|
|
|
|
|
SEARCH messages USING COVERING INDEX idx_messages_author_group_member_id (author_group_member_id=?)
|
|
|
|
|
SEARCH connections USING COVERING INDEX idx_connections_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH rcv_files USING COVERING INDEX idx_rcv_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH snd_files USING COVERING INDEX idx_snd_files_group_member_id (group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
SEARCH group_members USING COVERING INDEX idx_group_members_invited_by_group_member_id (invited_by_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_grp_direct_inv_from_group_member_id (grp_direct_inv_from_group_member_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_contact_group_member_id (contact_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
INSERT INTO group_members
|
|
|
|
|
(group_id, member_id, member_role, member_category, member_status, member_restriction, is_chat_relay, invited_by, invited_by_group_member_id,
|
|
|
|
|
user_id, local_display_name, contact_id, contact_profile_id, created_at, updated_at,
|
|
|
|
|
peer_chat_min_version, peer_chat_max_version)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH delivery_jobs USING COVERING INDEX idx_delivery_jobs_single_sender_group_member_id (single_sender_group_member_id=?)
|
|
|
|
@@ -3525,6 +3479,14 @@ Plan:
|
|
|
|
|
SEARCH f USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH i USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT index_in_group, member_relations_vector
|
|
|
|
|
FROM group_members
|
|
|
|
|
WHERE local_display_name = ?
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SCAN group_members
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT m.group_member_id
|
|
|
|
|
FROM group_members m
|
|
|
|
@@ -3575,14 +3537,6 @@ SEARCH r USING INDEX idx_chat_item_mentions_chat_item_id (chat_item_id=?)
|
|
|
|
|
SEARCH m USING INDEX sqlite_autoindex_group_members_1 (group_id=? AND member_id=?) LEFT-JOIN
|
|
|
|
|
SEARCH p USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT re_group_member_id
|
|
|
|
|
FROM group_member_intros
|
|
|
|
|
WHERE to_group_member_id = ? AND intro_status NOT IN (?,?,?)
|
|
|
|
|
AND intro_chat_protocol_version >= ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_member_intros USING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT reaction
|
|
|
|
|
FROM chat_item_reactions
|
|
|
|
@@ -3671,14 +3625,6 @@ Query:
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH protocol_servers USING INDEX idx_smp_servers_user_id (user_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT to_group_member_id
|
|
|
|
|
FROM group_member_intros
|
|
|
|
|
WHERE re_group_member_id = ? AND intro_status NOT IN (?,?,?)
|
|
|
|
|
AND intro_chat_protocol_version >= ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_member_intros USING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT usage_conditions_id, conditions_commit, notified_at, created_at
|
|
|
|
|
FROM usage_conditions
|
|
|
|
@@ -3798,6 +3744,40 @@ SCAN group_members USING COVERING INDEX idx_group_members_user_id_local_display_
|
|
|
|
|
LIST SUBQUERY 2
|
|
|
|
|
SCAN group_members USING COVERING INDEX idx_group_members_user_id_local_display_name
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE group_members
|
|
|
|
|
SET
|
|
|
|
|
member_relations_vector = (
|
|
|
|
|
SELECT migrate_relations_vector(idx, direction, intro_status)
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT m.index_in_group AS idx, 0 AS direction, i.intro_status
|
|
|
|
|
FROM group_member_intros i
|
|
|
|
|
JOIN group_members m ON m.group_member_id = i.to_group_member_id
|
|
|
|
|
WHERE i.re_group_member_id = group_members.group_member_id
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT m.index_in_group AS idx, 1 AS direction, i.intro_status
|
|
|
|
|
FROM group_member_intros i
|
|
|
|
|
JOIN group_members m ON m.group_member_id = i.re_group_member_id
|
|
|
|
|
WHERE i.to_group_member_id = group_members.group_member_id
|
|
|
|
|
) AS relations
|
|
|
|
|
),
|
|
|
|
|
updated_at = ?
|
|
|
|
|
WHERE group_member_id = ?
|
|
|
|
|
AND member_relations_vector IS NULL
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
CORRELATED SCALAR SUBQUERY 3
|
|
|
|
|
CO-ROUTINE relations
|
|
|
|
|
COMPOUND QUERY
|
|
|
|
|
LEFT-MOST SUBQUERY
|
|
|
|
|
SEARCH i USING INDEX idx_group_member_intros_re_group_member_id (re_group_member_id=?)
|
|
|
|
|
SEARCH m USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
UNION ALL
|
|
|
|
|
SEARCH i USING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
SEARCH m USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SCAN relations
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE group_members
|
|
|
|
|
SET contact_id = ?, local_display_name = ?, contact_profile_id = ?, updated_at = ?
|
|
|
|
@@ -3806,6 +3786,23 @@ Query:
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE group_members
|
|
|
|
|
SET member_relations_vector = ?
|
|
|
|
|
WHERE local_display_name = ?
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SCAN group_members
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE groups
|
|
|
|
|
SET member_index = member_index + 1
|
|
|
|
|
WHERE group_id = ?
|
|
|
|
|
RETURNING member_index - 1
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH groups USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE groups
|
|
|
|
|
SET via_group_link_uri = ?, via_group_link_uri_hash = ?
|
|
|
|
@@ -4476,7 +4473,7 @@ Query:
|
|
|
|
|
SELECT contact_profile_id, member_profile_id, local_display_name FROM group_members WHERE group_id = ?
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INDEX sqlite_autoindex_group_members_1 (group_id=?)
|
|
|
|
|
SEARCH group_members USING INDEX idx_group_members_group_id_index_in_group (group_id=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT DISTINCT group_id, worker_scope
|
|
|
|
@@ -4746,12 +4743,12 @@ Plan:
|
|
|
|
|
SEARCH contacts USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE group_member_intros
|
|
|
|
|
SET intro_status = ?, updated_at = ?
|
|
|
|
|
WHERE group_member_intro_id = ?
|
|
|
|
|
UPDATE group_members
|
|
|
|
|
SET member_relations_vector = ?, updated_at = ?
|
|
|
|
|
WHERE group_member_id = ?
|
|
|
|
|
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_member_intros USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
UPDATE group_members
|
|
|
|
@@ -4986,7 +4983,7 @@ Query:
|
|
|
|
|
g.business_chat, g.business_member_id, g.customer_member_id,
|
|
|
|
|
g.ui_themes, g.summary_current_members_count, g.custom_data, g.chat_item_ttl, g.members_require_attention, g.via_group_link_uri,
|
|
|
|
|
-- GroupMember - membership
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.index_in_group, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.member_status, mu.show_messages, mu.member_restriction, mu.is_chat_relay, mu.invited_by, mu.invited_by_group_member_id, mu.local_display_name, mu.contact_id, mu.contact_profile_id, pu.contact_profile_id,
|
|
|
|
|
pu.display_name, pu.full_name, pu.short_descr, pu.image, pu.contact_link, pu.chat_peer_type, pu.local_alias, pu.preferences,
|
|
|
|
|
mu.created_at, mu.updated_at,
|
|
|
|
@@ -5020,7 +5017,7 @@ Query:
|
|
|
|
|
g.business_chat, g.business_member_id, g.customer_member_id,
|
|
|
|
|
g.ui_themes, g.summary_current_members_count, g.custom_data, g.chat_item_ttl, g.members_require_attention, g.via_group_link_uri,
|
|
|
|
|
-- GroupMember - membership
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.index_in_group, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.member_status, mu.show_messages, mu.member_restriction, mu.is_chat_relay, mu.invited_by, mu.invited_by_group_member_id, mu.local_display_name, mu.contact_id, mu.contact_profile_id, pu.contact_profile_id,
|
|
|
|
|
pu.display_name, pu.full_name, pu.short_descr, pu.image, pu.contact_link, pu.chat_peer_type, pu.local_alias, pu.preferences,
|
|
|
|
|
mu.created_at, mu.updated_at,
|
|
|
|
@@ -5047,7 +5044,7 @@ Query:
|
|
|
|
|
g.business_chat, g.business_member_id, g.customer_member_id,
|
|
|
|
|
g.ui_themes, g.summary_current_members_count, g.custom_data, g.chat_item_ttl, g.members_require_attention, g.via_group_link_uri,
|
|
|
|
|
-- GroupMember - membership
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.group_member_id, mu.group_id, mu.index_in_group, mu.member_id, mu.peer_chat_min_version, mu.peer_chat_max_version, mu.member_role, mu.member_category,
|
|
|
|
|
mu.member_status, mu.show_messages, mu.member_restriction, mu.is_chat_relay, mu.invited_by, mu.invited_by_group_member_id, mu.local_display_name, mu.contact_id, mu.contact_profile_id, pu.contact_profile_id,
|
|
|
|
|
pu.display_name, pu.full_name, pu.short_descr, pu.image, pu.contact_link, pu.chat_peer_type, pu.local_alias, pu.preferences,
|
|
|
|
|
mu.created_at, mu.updated_at,
|
|
|
|
@@ -5096,7 +5093,7 @@ SEARCH p USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5123,7 +5120,7 @@ SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JO
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5142,7 +5139,45 @@ SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JO
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
|
c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id,
|
|
|
|
|
c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id,
|
|
|
|
|
c.created_at, c.security_code, c.security_code_verified_at, c.pq_support, c.pq_encryption, c.pq_snd_enabled, c.pq_rcv_enabled, c.auth_err_counter, c.quota_err_counter,
|
|
|
|
|
c.conn_chat_version, c.peer_chat_min_version, c.peer_chat_max_version
|
|
|
|
|
FROM group_members m
|
|
|
|
|
JOIN contact_profiles p ON p.contact_profile_id = COALESCE(m.member_profile_id, m.contact_profile_id)
|
|
|
|
|
LEFT JOIN connections c ON c.group_member_id = m.group_member_id
|
|
|
|
|
WHERE m.group_id = ? AND m.index_in_group = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH m USING INDEX idx_group_members_group_id_index_in_group (group_id=? AND index_in_group=?)
|
|
|
|
|
SEARCH p USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JOIN
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
|
c.connection_id, c.agent_conn_id, c.conn_level, c.via_contact, c.via_user_contact_link, c.via_group_link, c.group_link_id, c.xcontact_id, c.custom_user_profile_id,
|
|
|
|
|
c.conn_status, c.conn_type, c.contact_conn_initiated, c.local_alias, c.contact_id, c.group_member_id, c.user_contact_link_id,
|
|
|
|
|
c.created_at, c.security_code, c.security_code_verified_at, c.pq_support, c.pq_encryption, c.pq_snd_enabled, c.pq_rcv_enabled, c.auth_err_counter, c.quota_err_counter,
|
|
|
|
|
c.conn_chat_version, c.peer_chat_min_version, c.peer_chat_max_version
|
|
|
|
|
FROM group_members m
|
|
|
|
|
JOIN contact_profiles p ON p.contact_profile_id = COALESCE(m.member_profile_id, m.contact_profile_id)
|
|
|
|
|
LEFT JOIN connections c ON c.group_member_id = m.group_member_id
|
|
|
|
|
WHERE m.group_id = ? AND m.index_in_group = ? AND (m.member_role IN (?,?,?) OR m.group_member_id = ?)
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH m USING INDEX idx_group_members_group_id_index_in_group (group_id=? AND index_in_group=?)
|
|
|
|
|
SEARCH p USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JOIN
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5155,13 +5190,13 @@ Query:
|
|
|
|
|
LEFT JOIN connections c ON c.group_member_id = m.group_member_id
|
|
|
|
|
WHERE m.group_id = ? AND m.member_category = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH m USING INDEX sqlite_autoindex_group_members_1 (group_id=?)
|
|
|
|
|
SEARCH m USING INDEX idx_group_members_group_id_index_in_group (group_id=?)
|
|
|
|
|
SEARCH p USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JOIN
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5180,7 +5215,7 @@ SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JO
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5199,7 +5234,7 @@ SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JO
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5218,7 +5253,7 @@ SEARCH c USING INDEX idx_connections_group_member_id (group_member_id=?) LEFT-JO
|
|
|
|
|
|
|
|
|
|
Query:
|
|
|
|
|
SELECT
|
|
|
|
|
m.group_member_id, m.group_id, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.group_member_id, m.group_id, m.index_in_group, m.member_id, m.peer_chat_min_version, m.peer_chat_max_version, m.member_role, m.member_category, m.member_status, m.show_messages, m.member_restriction, m.is_chat_relay,
|
|
|
|
|
m.invited_by, m.invited_by_group_member_id, m.local_display_name, m.contact_id, m.contact_profile_id, p.contact_profile_id, p.display_name, p.full_name, p.short_descr, p.image, p.contact_link, p.chat_peer_type, p.local_alias, p.preferences,
|
|
|
|
|
m.created_at, m.updated_at,
|
|
|
|
|
m.support_chat_ts, m.support_chat_items_unread, m.support_chat_items_member_attention, m.support_chat_items_mentions, m.support_chat_last_msg_from_member_ts,
|
|
|
|
@@ -5843,7 +5878,7 @@ SEARCH messages USING COVERING INDEX idx_messages_group_id (group_id=?)
|
|
|
|
|
SEARCH contact_requests USING COVERING INDEX idx_contact_requests_business_group_id (business_group_id=?)
|
|
|
|
|
SEARCH user_contact_links USING COVERING INDEX idx_user_contact_links_group_id (group_id=?)
|
|
|
|
|
SEARCH files USING COVERING INDEX idx_files_group_id (group_id=?)
|
|
|
|
|
SEARCH group_members USING COVERING INDEX sqlite_autoindex_group_members_1 (group_id=?)
|
|
|
|
|
SEARCH group_members USING COVERING INDEX idx_group_members_group_id_index_in_group (group_id=?)
|
|
|
|
|
SEARCH contacts USING COVERING INDEX idx_contacts_grp_direct_inv_from_group_id (grp_direct_inv_from_group_id=?)
|
|
|
|
|
|
|
|
|
|
Query: DELETE FROM messages WHERE connection_id = ?
|
|
|
|
@@ -6076,9 +6111,9 @@ Plan:
|
|
|
|
|
Query: INSERT INTO xftp_file_descriptions (user_id, file_descr_text, file_descr_part_no, file_descr_complete, created_at, updated_at) VALUES (?,?,?,?,?,?)
|
|
|
|
|
Plan:
|
|
|
|
|
|
|
|
|
|
Query: SELECT 1 FROM group_member_intros WHERE re_group_member_id = ? AND to_group_member_id = ? LIMIT 1
|
|
|
|
|
Query: SELECT 1 FROM group_members WHERE group_member_id = ? AND member_relations_vector IS NOT NULL
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_member_intros USING COVERING INDEX sqlite_autoindex_group_member_intros_1 (re_group_member_id=? AND to_group_member_id=?)
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT 1 FROM settings WHERE user_id = ? LIMIT 1
|
|
|
|
|
Plan:
|
|
|
|
@@ -6100,7 +6135,7 @@ Query: SELECT COUNT(1) FROM groups WHERE user_id = ? AND chat_item_ttl > 0
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH groups USING INDEX idx_groups_chat_ts (user_id=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT COUNT(1), COALESCE(SUM(user_mention), 0) FROM chat_items WHERE user_id = ? AND group_id = ? AND group_scope_tag IS NULL AND group_scope_group_member_id IS NULL AND group_scope_tag IS NULL AND group_scope_group_member_id IS NULL AND item_status = ?
|
|
|
|
|
Query: SELECT COUNT(1), COALESCE(SUM(user_mention), 0) FROM chat_items WHERE user_id = ? AND group_id = ? AND group_scope_tag IS NULL AND group_scope_group_member_id IS NULL AND item_status = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_group_scope_stats_all (user_id=? AND group_id=? AND group_scope_tag=? AND group_scope_group_member_id=? AND item_status=?)
|
|
|
|
|
|
|
|
|
@@ -6110,6 +6145,12 @@ SCAN CONSTANT ROW
|
|
|
|
|
SCALAR SUBQUERY 1
|
|
|
|
|
SEARCH chat_items USING COVERING INDEX idx_chat_items_contacts_created_at (user_id=? AND contact_id=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT EXISTS (SELECT 1 FROM group_members WHERE member_relations_vector IS NULL LIMIT 1)
|
|
|
|
|
Plan:
|
|
|
|
|
SCAN CONSTANT ROW
|
|
|
|
|
SCALAR SUBQUERY 1
|
|
|
|
|
SCAN group_members
|
|
|
|
|
|
|
|
|
|
Query: SELECT accepted_at FROM operator_usage_conditions WHERE server_operator_id = ? AND conditions_commit = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH operator_usage_conditions USING INDEX idx_operator_usage_conditions_conditions_commit (conditions_commit=? AND server_operator_id=?)
|
|
|
|
@@ -6278,6 +6319,14 @@ Query: SELECT max(active_order) FROM users
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH users
|
|
|
|
|
|
|
|
|
|
Query: SELECT member_relations_vector FROM group_members WHERE group_member_id = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT member_relations_vector FROM group_members WHERE group_member_id = ? AND member_relations_vector IS NOT NULL
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT member_xcontact_id, member_welcome_shared_msg_id FROM group_members WHERE user_id = ? AND group_id = ? AND group_member_id = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
@@ -6294,10 +6343,6 @@ Query: SELECT quota_err_counter FROM connections WHERE user_id = ? AND connectio
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH connections USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT re_group_member_id FROM group_member_intros WHERE to_group_member_id = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_member_intros USING INDEX idx_group_member_intros_to_group_member_id (to_group_member_id=?)
|
|
|
|
|
|
|
|
|
|
Query: SELECT sent_inv_queue_info FROM group_members WHERE group_member_id = ? AND user_id = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
@@ -6518,6 +6563,10 @@ Query: UPDATE group_members SET member_profile_id = ?, updated_at = ? WHERE grou
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query: UPDATE group_members SET member_relations_vector = set_member_vector_new_relation(member_relations_vector, ?, ?, ?), updated_at = ? WHERE group_member_id = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|
|
|
|
|
|
Query: UPDATE group_members SET member_role = ? WHERE user_id = ? AND group_member_id = ?
|
|
|
|
|
Plan:
|
|
|
|
|
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
|
|
|
|
|