]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dict quota: Quota recalculation always doubled the quota with pgsql.
authorTimo Sirainen <tss@iki.fi>
Wed, 16 Jun 2010 15:17:52 +0000 (16:17 +0100)
committerTimo Sirainen <tss@iki.fi>
Wed, 16 Jun 2010 15:17:52 +0000 (16:17 +0100)
--HG--
branch : HEAD

src/plugins/quota/quota-dict.c

index 083920aeda7d13d5b77eff70a6cb9a2e4484a12c..b1c59dd507ffa8421c5e9dc0208dc618327dd77d 100644 (file)
@@ -115,6 +115,10 @@ dict_quota_count(struct dict_quota_root *root,
 
        T_BEGIN {
                dt = dict_transaction_begin(root->dict);
+               /* these unsets are mainly necessary for pgsql, because its
+                  trigger otherwise increases quota without deleting it */
+               dict_unset(dt, DICT_QUOTA_CURRENT_BYTES_PATH);
+               dict_unset(dt, DICT_QUOTA_CURRENT_COUNT_PATH);
                dict_set(dt, DICT_QUOTA_CURRENT_BYTES_PATH, dec2str(bytes));
                dict_set(dt, DICT_QUOTA_CURRENT_COUNT_PATH, dec2str(count));
        } T_END;