diff options
author | Philipp Hörist <philipp@hoerist.com> | 2023-06-07 22:16:33 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2023-06-08 01:27:22 +0300 |
commit | 4634bc9b17489d73449df36677517fc16096de8c (patch) | |
tree | c63fdd52b1fac4ab50aa73e256ece892ac106037 | |
parent | 39d250ac590beb6aaebc5274038ede1a9dc6a5d1 (diff) |
new: Storage: Return occupant-id and real jid for conversations queries
-rw-r--r-- | gajim/common/storage/archive.py | 84 |
1 files changed, 65 insertions, 19 deletions
diff --git a/gajim/common/storage/archive.py b/gajim/common/storage/archive.py index 3ce90d309..bd58017e8 100644 --- a/gajim/common/storage/archive.py +++ b/gajim/common/storage/archive.py @@ -99,17 +99,19 @@ class JidsTableRow(NamedTuple): class ConversationRow(NamedTuple): + log_line_id: int contact_name: str | None + occupant_id: str | None + real_jid: JID | None time: float kind: int show: int message: str + error: CommonError subject: str additional_data: AdditionalDataDict | None - log_line_id: int - message_id: str stanza_id: str - error: CommonError + message_id: str marker: str @@ -382,10 +384,21 @@ class MessageArchiveStorage(SqliteStorage): time_order = 'AND time > ? ORDER BY time ASC, log_line_id ASC' sql = ''' - SELECT contact_name, time, kind, show, message, subject, - additional_data, log_line_id, message_id, stanza_id, - error as "error [common_error]", - marker as "marker [marker]" + SELECT + log_line_id, + contact_name, + occupant_id, + real_jid as "real_jid [jid]", + time, + kind, + show, + message, + error as "error [common_error]", + subject, + additional_data, + stanza_id, + message_id, + marker as "marker [marker]" FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) AND account_id = {account_id} AND kind NOT IN ({kinds}) @@ -459,10 +472,21 @@ class MessageArchiveStorage(SqliteStorage): n_lines = 50 sql_before = ''' - SELECT contact_name, time, kind, show, message, subject, - additional_data, log_line_id, message_id, stanza_id, - error as "error [common_error]", - marker as "marker [marker]" + SELECT + log_line_id, + contact_name, + occupant_id, + real_jid as "real_jid [jid]", + time, + kind, + show, + message, + error as "error [common_error]", + subject, + additional_data, + stanza_id, + message_id, + marker as "marker [marker]" FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) AND account_id = {account_id} AND kind NOT IN ({kinds}) @@ -473,10 +497,21 @@ class MessageArchiveStorage(SqliteStorage): account_id=account_id, kinds=', '.join(kinds)) sql_at_after = ''' - SELECT contact_name, time, kind, show, message, subject, - additional_data, log_line_id, message_id, stanza_id, - error as "error [common_error]", - marker as "marker [marker]" + SELECT + log_line_id, + contact_name, + occupant_id, + real_jid as "real_jid [jid]", + time, + kind, + show, + message, + error as "error [common_error]", + subject, + additional_data, + stanza_id, + message_id, + marker as "marker [marker]" FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) AND account_id = {account_id} AND kind NOT IN ({kinds}) @@ -518,10 +553,21 @@ class MessageArchiveStorage(SqliteStorage): kinds = map(str, [KindConstant.ERROR]) sql = ''' - SELECT contact_name, time, kind, show, message, subject, - additional_data, log_line_id, message_id, stanza_id, - error as "error [common_error]", - marker as "marker [marker]" + SELECT + log_line_id, + contact_name, + occupant_id, + real_jid as "real_jid [jid]", + time, + kind, + show, + message, + error as "error [common_error]", + subject, + additional_data, + stanza_id, + message_id, + marker as "marker [marker]" FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) AND account_id = {account_id} AND kind NOT IN ({kinds}) |