Use two concurrent queries to avoid client waiting
This commit is contained in:
parent
5632447263
commit
a13002b9f0
1 changed files with 13 additions and 10 deletions
|
@ -541,22 +541,25 @@ class Session(Connection):
|
|||
|
||||
sql = """
|
||||
select
|
||||
message.*
|
||||
message_id
|
||||
from
|
||||
newsgroup_message,
|
||||
message
|
||||
newsgroup_message
|
||||
where
|
||||
message.id = newsgroup_message.message_id
|
||||
and newsgroup_message.newsgroup_id = %s
|
||||
"""
|
||||
newsgroup_id = %s
|
||||
and """ + msgrange.where('message_id')
|
||||
|
||||
sql += " and " + msgrange.where('message.id')
|
||||
|
||||
cr = self.db.query_sql(Message, sql, (self.newsgroup.id,))
|
||||
cr = self.db.execute(sql, (self.newsgroup.id,))
|
||||
|
||||
first = True
|
||||
|
||||
for message in cr.each():
|
||||
while True:
|
||||
row = cr.fetchone()
|
||||
|
||||
if row is None:
|
||||
break
|
||||
|
||||
message = self.db.get(Message, {'id': row[0]})
|
||||
|
||||
if first:
|
||||
first = False
|
||||
self.respond(success)
|
||||
|
|
Loading…
Add table
Reference in a new issue