[tarantool-patches] Re: [PATCH v5 0/6] box: run checks on insertions in LUA spaces

Kirill Yukhin kyukhin at tarantool.org
Thu Jun 6 14:58:11 MSK 2019


Hello,

On 23 May 13:19, Kirill Shcherbatov wrote:
> Fire CK constraints for LUA spaces.
> To achieve this goal, we reworked data dictionary, to store ck
> constraints in separate space _ck_constraints and updated data
> migration script to migrate existent data there. This also would
> be useful in future to implement ALTER SPACE ADD CONSTRAINT
> operation. Now we do not support CK constraint creation on
> non-empty space.
> Each CK has own precompiled VDBE machine that performs this
> check with tuple fields mapped to it's memory with sql_bind() api.
> In case of ck constraint conflict detected by this VM we abort
> the transaction and return error to user.
> Finally, we introduced a LUA-wrapper that provide a user-friendly
> way to manage space ck constraints.
> 
> Changes in version 5:
>   - a new tuple_fetcher class to access tuple fields fast
>   - refactored _ck_constraint space format and indexes
>   - one on_replace trigger for all ck constraints
>   - trim_space_snprintf fixes: do not trim substring in ' or "
>   - do not wrap ck_constraint methods
>   - many minor fixes
> 
> v4: https://www.freelists.org/post/tarantool-patches/PATCH-v4-04-box-run-checks-on-insertions-in-LUA-spaces
> 
> Branch: http://github.com/tarantool/tarantool/tree/kshch/gh-3691-checks-on-server-side
> Issue: https://github.com/tarantool/tarantool/issues/3691

I've checked the patch set into master.

--
Regards, Kirill Yukhin




More information about the Tarantool-patches mailing list