changeset 2300:e4460aca7970 HEAD

Always create cache transaction. Easier that way .. and fixes a crash.
author Timo Sirainen <tss@iki.fi>
date Fri, 09 Jul 2004 03:10:37 +0300
parents ef0cd18d674c
children 00b4385cfc48
files src/lib-storage/index/index-mail-headers.c src/lib-storage/index/index-mail.c src/lib-storage/index/index-mail.h src/lib-storage/index/index-transaction.c
diffstat 4 files changed, 1 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/index-mail-headers.c	Fri Jul 09 00:27:22 2004 +0300
+++ b/src/lib-storage/index/index-mail-headers.c	Fri Jul 09 03:10:37 2004 +0300
@@ -397,8 +397,6 @@
 
 	/* FIXME: add some smart checks here. we don't necessarily want to
 	   cache everything.. */
-
-	index_mail_cache_transaction_begin(mail);
 	return TRUE;
 }
 
--- a/src/lib-storage/index/index-mail.c	Fri Jul 09 00:27:22 2004 +0300
+++ b/src/lib-storage/index/index-mail.c	Fri Jul 09 03:10:37 2004 +0300
@@ -127,15 +127,6 @@
 	}
 }
 
-void index_mail_cache_transaction_begin(struct index_mail *mail)
-{
-	if (mail->trans->cache_trans == NULL) {
-		mail->trans->cache_trans =
-			mail_cache_get_transaction(mail->trans->cache_view,
-						   mail->trans->trans);
-	}
-}
-
 const struct mail_full_flags *index_mail_get_flags(struct mail *_mail)
 {
 	struct index_mail *mail = (struct index_mail *) _mail;
@@ -302,8 +293,6 @@
 	data->body_size = data->parts->body_size;
 	data->body_size_set = TRUE;
 
-	index_mail_cache_transaction_begin(mail);
-
 	if (!mail->mail.has_nuls && !mail->mail.has_no_nuls) {
 		/* we know the NULs now, update them */
 		if ((data->parts->flags & MESSAGE_PART_FLAG_HAS_NULS) != 0) {
--- a/src/lib-storage/index/index-mail.h	Fri Jul 09 00:27:22 2004 +0300
+++ b/src/lib-storage/index/index-mail.h	Fri Jul 09 03:10:37 2004 +0300
@@ -77,7 +77,6 @@
 			    struct message_header_line *hdr,
 			    struct index_mail *mail);
 
-void index_mail_cache_transaction_begin(struct index_mail *mail);
 int index_mail_parse_headers(struct index_mail *mail);
 
 void index_mail_headers_init(struct index_mail *mail);
--- a/src/lib-storage/index/index-transaction.c	Fri Jul 09 00:27:22 2004 +0300
+++ b/src/lib-storage/index/index-transaction.c	Fri Jul 09 03:10:37 2004 +0300
@@ -11,6 +11,7 @@
 	t->trans = mail_index_transaction_begin(ibox->view, hide);
 	t->trans_view = mail_index_transaction_open_updated_view(t->trans);
 	t->cache_view = mail_cache_view_open(ibox->cache, t->trans_view);
+	t->cache_trans = mail_cache_get_transaction(t->cache_view, t->trans);
 }
 
 static void index_transaction_free(struct index_transaction_context *t)