get written question dates in a single query

This commit is contained in:
Frédéric Péters 2012-07-09 10:47:33 +02:00
parent 507e8cb4d5
commit 8bbed058ea
1 changed files with 5 additions and 13 deletions

View File

@ -1087,8 +1087,9 @@ class SyncFromPcfDbView(BrowserView):
cursor.execute('''SELECT t_histo.id, t_histo.st, t_histo.type, t_histo.sess,
t_histo.no, t_histo.intit, t_histo.auteurs,
t_histo.comppols, t_histo.matiereids, t_histo.objid
FROM t_histo
t_histo.comppols, t_histo.matiereids,
t_histo.objid, t_qe.date
FROM t_histo LEFT JOIN t_qe ON t_histo.objid = t_qe.id
WHERE t_histo.intit IS NOT NULL
AND t_histo.type IN ('QA', 'QE', 'QO', 'INTERP')
%s''' % where_ts)
@ -1099,7 +1100,7 @@ class SyncFromPcfDbView(BrowserView):
if row is None:
break
count += 1
dos_id, state, dostype, sess, no, intit, authors, polgroups, topics, objid = row
dos_id, state, dostype, sess, no, intit, authors, polgroups, topics, objid, qedate = row
log.debug('t_qx/dos id: %s', dos_id)
if intit and '\n' in intit:
@ -1138,16 +1139,7 @@ class SyncFromPcfDbView(BrowserView):
object.date = object.histolines[0].date
if object.questype == 'QE':
# query into t_qe to get the question date instead of the bqr
# date
qe_cursor = self.db_connection.cursor()
qe_cursor.execute('''SELECT date
FROM t_qe
WHERE id = %s''', (objid,))
row = qe_cursor.fetchone()
if row is not None:
object.date = row[0]
qe_cursor.close()
object.date = qedate
notify(ObjectModifiedEvent(object))
self.publish(object)