Check for missing messages during resync
parent
4b52453e47
commit
22c142247d
11
operetta.js
11
operetta.js
|
@ -255,10 +255,15 @@ Syncer.updateFlags = function*(messages, boxId)
|
|||
uid: m[0].uid,
|
||||
flags: toPgArray(m[0].flags)
|
||||
}));
|
||||
// TODO check if something is missing
|
||||
yield pg.update('messages m', { flags: pg.sql('t.flags::varchar(255)[]'), vertag: self.versionTag })
|
||||
var [ updated ] = yield pg.update('messages m', { flags: pg.sql('t.flags::varchar(255)[]'), vertag: self.versionTag })
|
||||
.from('('+pg.sql.values(rows)+') AS t (uid, flags)')
|
||||
.where({ 'm.folder_id': boxId }).where(pg.sql('m.uid=t.uid')).run(gen.ef());
|
||||
.where({ 'm.folder_id': boxId }).where(pg.sql('m.uid=t.uid')).returning('m.uid').rows(gen.ef());
|
||||
var uh = {}, i;
|
||||
for (i = 0; i < updated.length; i++)
|
||||
uh[updated[i].uid] = true;
|
||||
for (i = 0; i < messages.length; i++)
|
||||
if (!uh[messages[i][0].uid])
|
||||
console.log('message is missing: '+messages[i][0].uid);
|
||||
self.synced += messages.length;
|
||||
process.stderr.write('\rsynchronizing '+self.synced);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue