]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-dict: Add dict_op_settings parameter for dict_transaction_begin()
authorSiavash Tavakoli <siavash.tavakoli@open-xchange.com>
Mon, 3 May 2021 14:09:01 +0000 (15:09 +0100)
committerSiavash Tavakoli <siavash.tavakoli@open-xchange.com>
Thu, 1 Jul 2021 19:07:22 +0000 (20:07 +0100)
Only adds the parameter, doesn't use it.

17 files changed:
src/dict/dict-commands.c
src/doveadm/doveadm-dict.c
src/lib-dict-backend/test-dict-sql.c
src/lib-dict-extra/test-dict-fs.c
src/lib-dict/dict-txn-lua.c
src/lib-dict/dict.c
src/lib-dict/dict.h
src/lib-dict/test-dict-client.c
src/lib-fs/fs-dict.c
src/lib-oauth2/test-oauth2-jwt.c
src/lib-storage/index/index-attribute.c
src/plugins/acl/acl-lookup-dict.c
src/plugins/last-login/last-login-plugin.c
src/plugins/notify-status/notify-status-plugin.c
src/plugins/quota-clone/quota-clone-plugin.c
src/plugins/quota/quota-dict.c
src/plugins/quota/quota.c

index bdb7c40be307c2ff972a03f9243fb5e248600b03..3d585508c9b3fc3f375de67c186e9d66c2ccc928 100644 (file)
@@ -422,7 +422,7 @@ static int cmd_begin(struct dict_connection_cmd *cmd, const char *line)
        trans = array_append_space(&cmd->conn->transactions);
        trans->id = id;
        trans->conn = cmd->conn;
-       trans->ctx = dict_transaction_begin(cmd->conn->dict);
+       trans->ctx = dict_transaction_begin(cmd->conn->dict, NULL);
        return 0;
 }
 
index 134e762acd97efdd0190900f1ce8ccd804a8fb2e..db10dce7957f1b3f6bc9488deed17f7b752e15f2 100644 (file)
@@ -146,7 +146,7 @@ static void cmd_dict_set(struct doveadm_cmd_context *cctx)
        if (cmd_dict_init(cctx, cmd_dict_set, &dict) < 0)
                return;
 
-       trans = dict_transaction_begin(dict);
+       trans = dict_transaction_begin(dict, NULL);
        dict_set(trans, key, value);
        if (dict_transaction_commit(&trans, &error) <= 0) {
                i_error("dict_transaction_commit() failed: %s", error);
@@ -171,7 +171,7 @@ static void cmd_dict_unset(struct doveadm_cmd_context *cctx)
        if (cmd_dict_init(cctx, cmd_dict_unset, &dict) < 0)
                return;
 
-       trans = dict_transaction_begin(dict);
+       trans = dict_transaction_begin(dict, NULL);
        dict_unset(trans, key);
        if (dict_transaction_commit(&trans, &error) <= 0) {
                i_error("dict_transaction_commit() failed: %s", error);
@@ -199,7 +199,7 @@ static void cmd_dict_inc(struct doveadm_cmd_context *cctx)
        if (cmd_dict_init(cctx, cmd_dict_inc, &dict) < 0)
                return;
 
-       trans = dict_transaction_begin(dict);
+       trans = dict_transaction_begin(dict, NULL);
        dict_atomic_inc(trans, key, diff);
        ret = dict_transaction_commit(&trans, &error);
        if (ret < 0) {
index ffaa9c6a8e016f86b054069c823ed968b103e0c5..51a7e43dba74aa9e86c6b813b5e171e78ce377e3 100644 (file)
@@ -92,7 +92,7 @@ static void test_atomic_inc(void)
        test_set_expected(dict, &res);
 
        /* 1 field */
-       struct dict_transaction_context *ctx = dict_transaction_begin(dict);
+       struct dict_transaction_context *ctx = dict_transaction_begin(dict, NULL);
        dict_atomic_inc(ctx, "shared/counters/global/counter", 128);
        test_assert(dict_transaction_commit(&ctx, &error) == 0);
         if (error != NULL)
@@ -100,7 +100,7 @@ static void test_atomic_inc(void)
        error = NULL;
 
        /* 2 fields */
-       ctx = dict_transaction_begin(dict);
+       ctx = dict_transaction_begin(dict, NULL);
        dict_atomic_inc(ctx, "priv/quota/bytes", 128);
        dict_atomic_inc(ctx, "priv/quota/count", 1);
        test_assert(dict_transaction_commit(&ctx, &error) == 0);
@@ -109,7 +109,7 @@ static void test_atomic_inc(void)
        error = NULL;
 
        /* 3 fields */
-       ctx = dict_transaction_begin(dict);
+       ctx = dict_transaction_begin(dict, NULL);
        dict_atomic_inc(ctx, "priv/quota/bytes", 128);
        dict_atomic_inc(ctx, "priv/quota/count", 1);
        dict_atomic_inc(ctx, "priv/quota/folders", 123);
@@ -141,7 +141,7 @@ static void test_set(void)
        test_set_expected(dict, &res);
 
        /* 1 field */
-       struct dict_transaction_context *ctx = dict_transaction_begin(dict);
+       struct dict_transaction_context *ctx = dict_transaction_begin(dict, NULL);
        dict_set(ctx, "shared/counters/global/counter", "128");
        test_assert(dict_transaction_commit(&ctx, &error) == 1);
         if (error != NULL)
@@ -149,7 +149,7 @@ static void test_set(void)
        error = NULL;
 
        /* 2 fields */
-       ctx = dict_transaction_begin(dict);
+       ctx = dict_transaction_begin(dict, NULL);
        dict_set(ctx, "priv/quota/bytes", "128");
        dict_set(ctx, "priv/quota/count", "1");
        test_assert(dict_transaction_commit(&ctx, &error) == 1);
@@ -158,7 +158,7 @@ static void test_set(void)
        error = NULL;
 
        /* 3 fields */
-       ctx = dict_transaction_begin(dict);
+       ctx = dict_transaction_begin(dict, NULL);
        dict_set(ctx, "priv/quota/bytes", "128");
        dict_set(ctx, "priv/quota/count", "1");
        dict_set(ctx, "priv/quota/folders", "123");
@@ -189,13 +189,13 @@ static void test_unset(void)
 
        test_set_expected(dict, &res);
 
-       struct dict_transaction_context *ctx = dict_transaction_begin(dict);
+       struct dict_transaction_context *ctx = dict_transaction_begin(dict, NULL);
        dict_unset(ctx, "shared/counters/global/counter");
        test_assert(dict_transaction_commit(&ctx, &error) == 1);
        if (error != NULL)
                 i_error("dict_transaction_commit failed: %s", error);
        error = NULL;
-       ctx = dict_transaction_begin(dict);
+       ctx = dict_transaction_begin(dict, NULL);
        dict_unset(ctx, "priv/quota/bytes");
        dict_unset(ctx, "priv/quota/count");
        test_assert(dict_transaction_commit(&ctx, &error) == 1);
index aa7f67491ec9ece520ec7909494044799ae33340..e51a267710edcc695c6765d9b704d79b70fba472 100644 (file)
@@ -9,7 +9,7 @@ static void test_dict_set_get(struct dict *dict, const char *key,
                             const char *value)
 {
        const char *got_value, *error;
-       struct dict_transaction_context *t = dict_transaction_begin(dict);
+       struct dict_transaction_context *t = dict_transaction_begin(dict, NULL);
        dict_set(t, key, value);
        if (dict_transaction_commit(&t, &error) < 0)
                i_fatal("dict_transaction_commit(%s) failed: %s", key, error);
index 854008611f676ec2554995f7f478fc822add5259..8e13e9d22714e3542dbb73ea5360dc09d1221f93 100644 (file)
@@ -185,7 +185,7 @@ int lua_dict_transaction_begin(lua_State *L)
        pool = pool_alloconly_create("lua dict txn", 128);
        txn = p_new(pool, struct lua_dict_txn, 1);
        txn->pool = pool;
-       txn->txn = dict_transaction_begin(dict);
+       txn->txn = dict_transaction_begin(dict, NULL);
        txn->state = STATE_OPEN;
        txn->L = L;
 
index 250dacb48e4a15eeecc82191ac2ea07b214c3ddb..1725137764ec32f1f9345fef896dbd917ddb366b 100644 (file)
@@ -471,7 +471,8 @@ int dict_iterate_deinit(struct dict_iterate_context **_ctx,
        return ret;
 }
 
-struct dict_transaction_context *dict_transaction_begin(struct dict *dict)
+struct dict_transaction_context *
+dict_transaction_begin(struct dict *dict, const struct dict_op_settings *set ATTR_UNUSED)
 {
        struct dict_transaction_context *ctx;
        guid_128_t guid;
index 9b48376c57c2b2b538ff3ed6deb95b2140553138..969801f3d54a101fbbf97ea0242259f80dd79cc4 100644 (file)
@@ -151,7 +151,8 @@ bool dict_iterate_values(struct dict_iterate_context *ctx,
 int dict_iterate_deinit(struct dict_iterate_context **ctx, const char **error_r);
 
 /* Start a new dictionary transaction. */
-struct dict_transaction_context *dict_transaction_begin(struct dict *dict);
+struct dict_transaction_context *
+dict_transaction_begin(struct dict *dict, const struct dict_op_settings *set);
 /* Don't log a warning if the transaction commit took a long time.
    This is needed if there are no guarantees that an asynchronous commit will
    finish up anytime soon. Mainly useful for transactions which aren't
index 74e58c066d7f5e2887428142ce5075d097f40e64..326d1a62a1c2da3fde5741c3f3528a1fc55f778b 100644 (file)
@@ -67,7 +67,7 @@ int main(int argc, char *argv[])
                        struct dict_transaction_context *trans;
 
                        pending++;
-                       trans = dict_transaction_begin(dict);
+                       trans = dict_transaction_begin(dict, NULL);
                        dict_set(trans, key, value);
                        dict_transaction_commit_async(&trans, commit_callback, NULL);
                        break;
@@ -76,7 +76,7 @@ int main(int argc, char *argv[])
                        struct dict_transaction_context *trans;
 
                        pending++;
-                       trans = dict_transaction_begin(dict);
+                       trans = dict_transaction_begin(dict, NULL);
                        dict_unset(trans, key);
                        dict_transaction_commit_async(&trans, commit_callback, NULL);
                        break;
index 172236ffbefbafc6d64280e29cc558d017369d90..791b973b185fcbaea2f3e6d0abff5476fbd9ed9c 100644 (file)
@@ -222,7 +222,7 @@ static int fs_dict_write_stream_finish(struct fs_file *_file, bool success)
                return -1;
 
        fs_dict_write_rename_if_needed(file);
-       trans = dict_transaction_begin(fs->dict);
+       trans = dict_transaction_begin(fs->dict, NULL);
        switch (fs->encoding) {
        case FS_DICT_VALUE_ENCODING_RAW:
                dict_set(trans, file->key, str_c(file->write_buffer));
@@ -270,7 +270,7 @@ static int fs_dict_delete(struct fs_file *_file)
        struct dict_transaction_context *trans;
        const char *error;
 
-       trans = dict_transaction_begin(fs->dict);
+       trans = dict_transaction_begin(fs->dict, NULL);
        dict_unset(trans, file->key);
        if (dict_transaction_commit(&trans, &error) < 0) {
                fs_set_error(_file->event, EIO,
index 80aa82c9a1e87dea4d5fa154e19e807e0a54c83e..47d40b36eecdefa83864e0f22dd15ac4bdbb64b3 100644 (file)
@@ -233,7 +233,7 @@ static void save_key_azp_to(const char *algo, const char *azp,
 {
        const char *error;
        struct dict_transaction_context *ctx =
-               dict_transaction_begin(keys_dict);
+               dict_transaction_begin(keys_dict, NULL);
        algo = t_str_ucase(algo);
        dict_set(ctx, t_strconcat(DICT_PATH_SHARED, azp, "/", algo, "/",
                                  name, NULL),
index e7d20888d6c556e6469146dd3cea05ce837136d1..031237fcc1adef6f831e6de57e713c13dad9f7c1 100644 (file)
@@ -203,7 +203,7 @@ index_storage_attribute_get_dict_trans(struct mailbox_transaction_context *t,
        if (index_storage_get_dict(t->box, type_flags, &dict, mailbox_prefix_r) < 0)
                return -1;
        i_assert(*dtransp == NULL);
-       *dtransp = *dtrans_r = dict_transaction_begin(dict);
+       *dtransp = *dtrans_r = dict_transaction_begin(dict, NULL);
        return 0;
 }
 
index 61d5fa8793fd8092d473bd3be2f8360f56feb390..188594f06697a7027aa3fb2dc88559ab2d263996 100644 (file)
@@ -203,7 +203,7 @@ acl_lookup_dict_rebuild_update(struct acl_lookup_dict *dict,
                        /* new identifier, add it */
                        str_truncate(path, prefix_len);
                        str_append(path, new_ids[newi]);
-                       dt = dict_transaction_begin(dict->dict);
+                       dt = dict_transaction_begin(dict->dict, NULL);
                        dict_set(dt, str_c(path), "1");
                        newi++;
                } else if (!no_removes) {
@@ -212,7 +212,7 @@ acl_lookup_dict_rebuild_update(struct acl_lookup_dict *dict,
                        str_append(path, old_ids[oldi]);
                        str_append_c(path, '/');
                        str_append(path, username);
-                       dt = dict_transaction_begin(dict->dict);
+                       dt = dict_transaction_begin(dict->dict, NULL);
                        dict_unset(dt, str_c(path));
                        oldi++;
                }
index e1e1ccd5ace7467deecfcb7a7b07e094212e02bd..f3304f0c17ddc2408ee59a256a6fb728b9769c79 100644 (file)
@@ -122,7 +122,7 @@ static void last_login_mail_user_created(struct mail_user *user)
 
        precision = mail_user_plugin_getenv(user, "last_login_precision");
 
-       trans = dict_transaction_begin(dict);
+       trans = dict_transaction_begin(dict, NULL);
        if (precision == NULL || strcmp(precision, "s") == 0)
                dict_set(trans, key_name, dec2str(ioloop_time));
        else if (strcmp(precision, "ms") == 0) {
index 4fca59dc721341737242136d04af0061d36f1ab1..6846127edbdfab3198caf120ac5a55a057d29ca8 100644 (file)
@@ -177,7 +177,7 @@ static void notify_update_mailbox_status(struct mailbox *box)
                        i_error("notify-status: var_expand(%s) failed: %s",
                                nuser->value_template, error);
                } else {
-                       t = dict_transaction_begin(nuser->dict);
+                       t = dict_transaction_begin(nuser->dict, NULL);
                        dict_set(t, key, str_c(dest));
                        dict_transaction_commit_async(&t, notify_update_callback, NULL) ;
                }
@@ -198,7 +198,7 @@ static void notify_remove_mailbox_status(struct mailbox *box)
        const char *key =
                t_strdup_printf(NOTIFY_STATUS_KEY, mailbox_get_vname(box));
 
-       t = dict_transaction_begin(nuser->dict);
+       t = dict_transaction_begin(nuser->dict, NULL);
        dict_unset(t, key);
        dict_transaction_commit_async(&t, notify_update_callback, NULL) ;
 }
index 8d46c13ecc260432076f862937a085480a9f4220..f084b84c07bc04739d249f20e52a1fb86d7eae4a 100644 (file)
@@ -116,7 +116,7 @@ static bool quota_clone_flush_real(struct mail_user *user)
           the special case of lookup changing from
           RESULT_LIMITED/RESULT_UNLIMITED to RESULT_UNKNOWN_RESOURCE, which
           leaves the old value unchanged. */
-       trans = dict_transaction_begin(quser->dict);
+       trans = dict_transaction_begin(quser->dict, NULL);
        if (bytes_res == QUOTA_GET_RESULT_LIMITED ||
            bytes_res == QUOTA_GET_RESULT_UNLIMITED) {
                dict_set(trans, DICT_QUOTA_CLONE_BYTES_PATH,
index e4a9729ae8d5158f18891001510494ca2125d87c..a833f884c4067b23ca45d041e076065c216a3e22 100644 (file)
@@ -118,7 +118,7 @@ dict_quota_count(struct dict_quota_root *root,
        if (quota_count(&root->root, &bytes, &count, &error_res, error_r) < 0)
                return error_res;
 
-       dt = dict_transaction_begin(root->dict);
+       dt = dict_transaction_begin(root->dict, NULL);
        /* these unsets are mainly necessary for pgsql, because its
           trigger otherwise increases quota without deleting it.
           but some people with other databases want to store the
@@ -220,7 +220,7 @@ dict_quota_update(struct quota_root *_root,
                    <= QUOTA_GET_RESULT_INTERNAL_ERROR)
                        return -1;
        } else {
-               dt = dict_transaction_begin(root->dict);
+               dt = dict_transaction_begin(root->dict, NULL);
                if (ctx->bytes_used != 0) {
                        dict_atomic_inc(dt, DICT_QUOTA_CURRENT_BYTES_PATH,
                                        ctx->bytes_used);
index c2234b94c99eba03730636f303a5d55c63cb93a3..25d6032fde524d98b2eb8016040353ad53d28fd9 100644 (file)
@@ -868,7 +868,7 @@ int quota_set_resource(struct quota_root *root, const char *name,
                }
        }
 
-       trans = dict_transaction_begin(root->limit_set_dict);
+       trans = dict_transaction_begin(root->limit_set_dict, NULL);
        key = t_strdup_printf(QUOTA_LIMIT_SET_PATH"%s", key);
        dict_set(trans, key, dec2str(value));
        if (dict_transaction_commit(&trans, &error) < 0) {