From: roman.habibov1@yandex.ru To: Kirill Shcherbatov <kshcherbatov@tarantool.org>, "tarantool-patches@freelists.org" <tarantool-patches@freelists.org> Subject: [tarantool-patches] Re: [PATCH] box: add a method to check if transaction is open Date: Tue, 11 Sep 2018 03:23:31 +0300 [thread overview] Message-ID: <41907181536625411@iva8-8d7a47df0521.qloud-c.yandex.net> (raw) In-Reply-To: <bf5209a6-b5a3-aa49-3306-b61a1fabde0a@tarantool.org> 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 0:23 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 [this message] 2018-09-11 0:25 ` roman.habibov1 2018-09-11 11:51 ` Kirill Shcherbatov 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=41907181536625411@iva8-8d7a47df0521.qloud-c.yandex.net \ --to=roman.habibov1@yandex.ru \ --cc=kshcherbatov@tarantool.org \ --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