Lines Matching refs:seq

17 mail_index_transaction_lookup(struct mail_index_transaction *t, uint32_t seq)
19 i_assert(seq >= t->first_new_seq && seq <= t->last_new_seq);
21 return array_idx_modifiable(&t->appends, seq - t->first_new_seq);
246 void mail_index_update_modseq(struct mail_index_transaction *t, uint32_t seq,
260 u->uid = seq;
283 uint32_t seq)
293 mail_index_seq_array_lookup(seqs, seq, &idx))
299 mail_index_revert_changes_common(struct mail_index_transaction *t, uint32_t seq)
305 mail_index_revert_ext(&t->ext_rec_updates, seq);
306 mail_index_revert_ext(&t->ext_rec_atomics, seq);
314 seq);
318 seq);
324 mail_index_seq_array_lookup((void *)&t->modseq_updates, seq, &i))
328 void mail_index_revert_changes(struct mail_index_transaction *t, uint32_t seq)
330 mail_index_revert_changes_common(t, seq);
331 mail_index_cancel_flag_updates(t, seq);
335 mail_index_expunge_last_append(struct mail_index_transaction *t, uint32_t seq)
337 i_assert(seq == t->last_new_seq);
339 mail_index_revert_changes_common(t, seq);
342 array_delete(&t->appends, seq - t->first_new_seq, 1);
352 void mail_index_expunge(struct mail_index_transaction *t, uint32_t seq)
356 mail_index_expunge_guid(t, seq, null_guid);
359 void mail_index_expunge_guid(struct mail_index_transaction *t, uint32_t seq,
366 i_assert(seq > 0);
367 if (seq >= t->first_new_seq) {
372 mail_index_expunge_last_append(t, seq);
382 if (count > 0 && seq < expunges[count-1].uid)
386 expunge->uid = seq;
409 uint32_t seq)
424 if (updates[idx].uid2 < seq)
426 else if (updates[idx].uid1 > seq)
573 uint32_t seq;
575 for (seq = I_MAX(t->first_new_seq, seq1); seq <= seq2; seq++) {
576 rec = mail_index_transaction_lookup(t, seq);
660 void mail_index_update_flags(struct mail_index_transaction *t, uint32_t seq,
664 mail_index_update_flags_range(t, seq, seq, modify_type, flags);
1006 void mail_index_update_ext(struct mail_index_transaction *t, uint32_t seq,
1016 i_assert(seq > 0 &&
1017 (seq <= mail_index_view_get_messages_count(t->view) ||
1018 seq <= t->last_new_seq));
1043 if (!mail_index_seq_array_add(array, seq, data, record_size,
1052 uint32_t seq, uint32_t ext_id, int diff)
1057 i_assert(seq > 0 &&
1058 (seq <= mail_index_view_get_messages_count(t->view) ||
1059 seq <= t->last_new_seq));
1070 if (mail_index_seq_array_add(array, seq, &diff32, sizeof(diff32),
1074 (void)mail_index_seq_array_add(array, seq, &diff32,
1081 keyword_update_has_changes(struct mail_index_transaction *t, uint32_t seq,
1091 if (seq < t->first_new_seq)
1092 mail_index_transaction_lookup_latest_keywords(t, seq, &existing);
1122 keyword_update_remove_existing(struct mail_index_transaction *t, uint32_t seq)
1130 the seq is actual an uid, so we can't lookup the existing
1138 mail_index_transaction_lookup_latest_keywords(t, seq, &keywords);
1146 void mail_index_update_keywords(struct mail_index_transaction *t, uint32_t seq,
1156 i_assert(seq > 0 &&
1157 (seq <= mail_index_view_get_messages_count(t->view) ||
1158 seq <= t->last_new_seq));
1164 update_minmax_flagupdate_seq(t, seq, seq);
1175 changed = keyword_update_has_changes(t, seq,
1187 if (seq < t->first_new_seq) {
1189 remove_keywords = keyword_update_remove_existing(t, seq);
1194 seq_range_array_remove(&u->add_seq, seq);
1212 seq_range_array_remove(&u->add_seq, seq);
1215 if (seq < t->first_new_seq) {
1217 16, seq);
1225 seq_range_array_add_with_init(&u->add_seq, 16, seq);
1226 seq_range_array_remove(&u->remove_seq, seq);
1236 uint32_t seq)
1245 i = mail_index_transaction_get_flag_update_pos(t, 0, count, seq);
1249 i_assert(seq <= updates[i].uid2);
1250 if (seq < updates[i].uid1)
1255 if (updates[i].uid1 == seq) {
1256 if (updates[i].uid2 != seq)
1262 } else if (updates[i].uid2 == seq) {
1267 tmp_update.uid1 = seq+1;
1268 updates[i].uid2 = seq-1;
1274 static bool mail_index_cancel_array(ARRAY_TYPE(seq_range) *array, uint32_t seq)
1277 if (seq_range_array_remove(array, seq)) {
1287 uint32_t seq)
1296 if (mail_index_cancel_array(&kw->add_seq, seq))
1298 if (mail_index_cancel_array(&kw->remove_seq, seq))