Better solution for generating WHERE clause for message ranges

This commit is contained in:
XANTRONIX Development 2024-12-02 14:44:37 -05:00
parent cefc2c1125
commit 1346ece242
2 changed files with 3 additions and 6 deletions

View file

@ -77,10 +77,7 @@ class MessageRange():
return "?" return "?"
def where(self, table=None): def where(self, column='id'):
prefix = '' if table is None else f"{table}."
column = prefix + 'id'
if self.id is not None: if self.id is not None:
return "%s = %d" % (column, self.id) return "%s = %d" % (column, self.id)

View file

@ -259,7 +259,7 @@ class Session():
if len(args) > 1: if len(args) > 1:
msgrange = MessageRange.parse(args[1]) msgrange = MessageRange.parse(args[1])
sql += " and " + msgrange.where() sql += " and " + msgrange.where('message_id')
summary = self._newsgroup_summary(newsgroup) summary = self._newsgroup_summary(newsgroup)
cr = self.db.execute(sql, (newsgroup.id,)) cr = self.db.execute(sql, (newsgroup.id,))
@ -547,7 +547,7 @@ class Session():
and newsgroup_message.newsgroup_id = ? and newsgroup_message.newsgroup_id = ?
""" """
sql += " and " + msgrange.where('message') sql += " and " + msgrange.where('newsgroup_message.message_id')
cr = self.db.query_sql(Message, sql, (self.newsgroup.id,)) cr = self.db.query_sql(Message, sql, (self.newsgroup.id,))