[tarantool-patches] Re: [PATCH 1/1] box: add a method to check if transaction is open

Alexander Turenko alexander.turenko at tarantool.org
Sat Sep 22 04:00:58 MSK 2018


Hi!

LGTM for the whole patchset.

Vlad, can you look at the patchset, please?

branch: romankhabibov/gh-3518-check-if-txn
issue: https://github.com/tarantool/tarantool/issues/3518

WBR, Alexander Turenko.

On Sat, Sep 22, 2018 at 01:29:15AM +0300, roman.habibov1 at yandex.ru wrote:
> 
> Hi! Thanks for review.
> 
> > Can be reduced to just `box.is_in_txn = builtin.box_txn`.
> Done.
> 
> commit 34325f03ab2abc3e3cf237b2310819734447e076
> Author: Roman Khabibov <roman.habibov1 at yandex.ru>
> Date:   Fri Sep 7 02:54:28 2018 +0300
> 
>     box: add a method to check if txn is open
>     
>     Closes: #3518.
> 
> diff --git a/src/box/lua/schema.lua b/src/box/lua/schema.lua
> index 74b7064..8a804f0 100644
> --- a/src/box/lua/schema.lua
> +++ b/src/box/lua/schema.lua
> @@ -64,6 +64,8 @@ ffi.cdef[[
>                      const char *key, const char *key_end);
>      /** \endcond public */
>      /** \cond public */
> +    bool
> +    box_txn();
>      int64_t
>      box_txn_id();
>      int
> @@ -321,6 +323,8 @@ box.begin = function()
>      end
>  end
>  
> +box.is_in_txn = builtin.box_txn
> +
>  box.savepoint = function()
>      local csavepoint = builtin.box_txn_savepoint()
>      if csavepoint == nil then
> diff --git a/test/box/misc.result b/test/box/misc.result
> index d9f8d4e..325af3b 100644
> --- a/test/box/misc.result
> +++ b/test/box/misc.result
> @@ -67,6 +67,7 @@ t
>    - index
>    - info
>    - internal
> +  - is_in_txn
>    - on_commit
>    - on_rollback
>    - once
> diff --git a/test/box/transaction.result b/test/box/transaction.result
> index e024084..8a4d11d 100644
> --- a/test/box/transaction.result
> +++ b/test/box/transaction.result
> @@ -43,6 +43,30 @@ box.begin() box.rollback();
>  box.commit();
>  ---
>  ...
> +--
> +-- gh-3518: Add is_in_txn().
> +--
> +-- no active transaction - false
> +box.is_in_txn();
> +---
> +- false
> +...
> +-- active transaction - true
> +box.begin();
> +---
> +...
> +box.is_in_txn();
> +---
> +- true
> +...
> +-- no active transaction - false
> +box.commit();
> +---
> +...
> +box.is_in_txn();
> +---
> +- false
> +...
>  fiber = require('fiber');
>  ---
>  ...
> diff --git a/test/box/transaction.test.lua b/test/box/transaction.test.lua
> index e1d258e..8f7dfed 100644
> --- a/test/box/transaction.test.lua
> +++ b/test/box/transaction.test.lua
> @@ -19,6 +19,19 @@ box.begin() box.rollback() box.rollback();
>  box.begin() box.rollback();
>  -- no current transaction - implicit begin
>  box.commit();
> +
> +--
> +-- gh-3518: Add is_in_txn().
> +--
> +-- no active transaction - false
> +box.is_in_txn();
> +-- active transaction - true
> +box.begin();
> +box.is_in_txn();
> +-- no active transaction - false
> +box.commit();
> +box.is_in_txn();
> +
>  fiber = require('fiber');
>  function sloppy()
>      box.begin()




More information about the Tarantool-patches mailing list