[tarantool-patches] Re: [PATCH v2 3/7] box: create new methods for ephemeral spaces
Kirill Shcherbatov
kshcherbatov at tarantool.org
Wed Jul 18 14:52:52 MSK 2018
> /**
> + * Fill up request according to given
> + * operation type. For all cases but
> + * UPSERT argument name match names of
> + * fields of struct request. For UPSERT
> + * arguments key and key_end are fields
> + * ops and ops_end.
> + */
1. Please, write doxygen-style comment with right margin 66.
The other nitpicks are similar: you should be at least consistent with functions
comments: I mean, memtx_space_ephemeral_replace has _invalid_ comment, but at
the same time memtx_space_execute_upsert doesn't have comment at all.
Please, clean-up this by your own.
> +memtx_space_ephemeral_replace(struct space *space, struct txn *txn,
> + struct request *request, struct tuple **result)
> {
> - struct memtx_space *memtx_space = (struct memtx_space *)space;
> - struct tuple *new_tuple = memtx_tuple_new(space->format, tuple,
> - tuple_end);
> - if (new_tuple == NULL)
> - return -1;
> - tuple_ref(new_tuple);
> + assert(txn == NULL);
> + (void)txn;
> + struct tuple *new_tuple = NULL;
> struct tuple *old_tuple = NULL;
> - if (memtx_space->replace(space, old_tuple, new_tuple,
> - DUP_REPLACE_OR_INSERT, &old_tuple) != 0) {
> + int rc = memtx_space_replace_impl(space, request, &new_tuple,
> + &old_tuple, result);
> + if (rc && new_tuple != NULL)
2. rc != 0
3. Looks like you introduce interesting functional changes. They deserve to be tested, don't
you think? Or there is no way to test this new API yet? I don't insist on C-module tests if this
the only way to test it.
More information about the Tarantool-patches
mailing list