Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hörist <philipp@hoerist.com>2023-06-07 22:16:33 +0300
committerPhilipp Hörist <philipp@hoerist.com>2023-06-08 01:27:22 +0300
commit4634bc9b17489d73449df36677517fc16096de8c (patch)
treec63fdd52b1fac4ab50aa73e256ece892ac106037
parent39d250ac590beb6aaebc5274038ede1a9dc6a5d1 (diff)
new: Storage: Return occupant-id and real jid for conversations queries
-rw-r--r--gajim/common/storage/archive.py84
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})