From: Kirill Shcherbatov <kshcherbatov@tarantool.org>
To: tarantool-patches@freelists.org,
Alexander Turenko <alexander.turenko@tarantool.org>,
Roman Khabibov <roman.habibov1@yandex.ru>
Subject: [tarantool-patches] Re: [PATCH] box: add a method to check if transaction is open
Date: Tue, 11 Sep 2018 14:51:19 +0300 [thread overview]
Message-ID: <fabb5166-98f4-14aa-c33a-a3b4027af54e@tarantool.org> (raw)
In-Reply-To: <41826271536625517@iva7-bd007c44f58e.qloud-c.yandex.net>
Now LGTM. Sasha, please, take a look.
On 11.09.2018 03:25, roman.habibov1@yandex.ru wrote:
> Forgot. Thanks for review!
>
> 11.09.2018, 03:23, "roman.habibov1@yandex.ru" <roman.habibov1@yandex.ru>:
>> 10.09.2018, 09:21, "Kirill Shcherbatov" <kshcherbatov@tarantool.org>:
>>> Hi! Thank you for a patch.
>>>> +bool
>>>> +box_is_in_txn()
>>>> +{
>>>> + return box_txn();
>>>> +}
>>>
>>> 1. Your function box_is_in_txn is a copy of box_txn routine. There is not reason to introduce it.
>>> Moreover, box_txn is already exported as public API.
>>
>> Indeed. Removed.
>>
>>>> +- - true
>>>> +...
>>>> +-- close transaction
>>>> +box.commit();
>>>
>>> 2. Check box.is_in_txn(); here please.
>>
>> Redone.
>>
>>>> +-- gh-3518 no active transaction - false
>>>
>>> 3. Use tarantool codestyle for comments; at first, you need ticket description
>>> --
>>> -- gh-3518: Check if transaction opened.
>>> --
>>>> +box.is_in_txn();
>>>> +-- start transaction
>>
>> Done.
>>
>>> 4. With a capital letter and with a dot at the end, please. Same for other comments.
>>
>> Sorry.
>>
>> commit 14fa90d195dc84df21a41c3172d2f0a2e0ca68e2
>> Author: Roman Khabibov <roman.habibov1@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..85e87ef 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,10 @@ box.begin = function()
>> end
>> end
>>
>> +box.is_in_txn = function()
>> + return { builtin.box_txn() }
>> +end
>> +
>> 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..25bdae5 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()
>> diff --git a/test/engine/savepoint.result b/test/engine/savepoint.result
>> index a62a2e1..00d281b 100644
>> --- a/test/engine/savepoint.result
>> +++ b/test/engine/savepoint.result
>> @@ -14,7 +14,7 @@ s1 = box.savepoint()
>> ...
>> box.rollback_to_savepoint(s1)
>> ---
>> -- error: 'builtin/box/schema.lua:340: Usage: box.rollback_to_savepoint(savepoint)'
>> +- error: 'builtin/box/schema.lua:346: Usage: box.rollback_to_savepoint(savepoint)'
>> ...
>> box.begin() s1 = box.savepoint()
>> ---
>> @@ -323,27 +323,27 @@ test_run:cmd("setopt delimiter ''");
>> ok1, errmsg1
>> ---
>> - false
>> -- 'builtin/box/schema.lua:340: Usage: box.rollback_to_savepoint(savepoint)'
>> +- 'builtin/box/schema.lua:346: Usage: box.rollback_to_savepoint(savepoint)'
>> ...
>> ok2, errmsg2
>> ---
>> - false
>> -- 'builtin/box/schema.lua:340: Usage: box.rollback_to_savepoint(savepoint)'
>> +- 'builtin/box/schema.lua:346: Usage: box.rollback_to_savepoint(savepoint)'
>> ...
>> ok3, errmsg3
>> ---
>> - false
>> -- 'builtin/box/schema.lua:340: Usage: box.rollback_to_savepoint(savepoint)'
>> +- 'builtin/box/schema.lua:346: Usage: box.rollback_to_savepoint(savepoint)'
>> ...
>> ok4, errmsg4
>> ---
>> - false
>> -- 'builtin/box/schema.lua:340: Usage: box.rollback_to_savepoint(savepoint)'
>> +- 'builtin/box/schema.lua:346: Usage: box.rollback_to_savepoint(savepoint)'
>> ...
>> ok5, errmsg5
>> ---
>> - false
>> -- 'builtin/box/schema.lua:340: Usage: box.rollback_to_savepoint(savepoint)'
>> +- 'builtin/box/schema.lua:346: Usage: box.rollback_to_savepoint(savepoint)'
>> ...
>> s:select{}
>> ---
>
>
next prev parent reply other threads:[~2018-09-11 11:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-07 1:00 [tarantool-patches] " Roman Khabibov
2018-09-10 6:21 ` [tarantool-patches] " Kirill Shcherbatov
2018-09-11 0:23 ` roman.habibov1
2018-09-11 0:25 ` roman.habibov1
2018-09-11 11:51 ` Kirill Shcherbatov [this message]
2018-09-19 13:38 ` Alexander Turenko
2018-09-21 0:54 ` [tarantool-patches] Re: [PATCH 1/1] " roman.habibov1
2018-09-21 2:41 ` Alexander Turenko
2018-09-21 22:29 ` roman.habibov1
2018-09-22 1:00 ` Alexander Turenko
2018-09-23 10:11 ` Vladislav Shpilevoy
2018-09-21 0:54 ` [tarantool-patches] Re: [PATCH 2/2] test: add output filtering feature roman.habibov1
2018-09-21 2:53 ` Alexander Turenko
2018-09-21 22:25 ` roman.habibov1
2018-09-24 8:38 ` [tarantool-patches] Re: [PATCH] box: add a method to check if transaction is open Kirill Yukhin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fabb5166-98f4-14aa-c33a-a3b4027af54e@tarantool.org \
--to=kshcherbatov@tarantool.org \
--cc=alexander.turenko@tarantool.org \
--cc=roman.habibov1@yandex.ru \
--cc=tarantool-patches@freelists.org \
--subject='[tarantool-patches] Re: [PATCH] box: add a method to check if transaction is open' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox