Tarantool development patches archive
 help / color / mirror / Atom feed
From: Nikita Pettik <korablev@tarantool.org>
To: Chris Sosnin <k.sosnin@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org
Subject: Re: [Tarantool-patches] [PATCH 2/2] sql: drop only generated sequence in DROP TABLE
Date: Tue, 24 Dec 2019 04:23:07 +0300	[thread overview]
Message-ID: <20191224012307.GA49851@tarantool.org> (raw)
In-Reply-To: <d473f962f8fddab65c0755977296e9fcdbf4036d.1576666151.git.k.sosnin@tarantool.org>

On 18 Dec 14:00, Chris Sosnin wrote:
>  create mode 100644 test/sql/autoincrement.result
>  create mode 100644 test/sql/autoincrement.test.lua
> 
> diff --git a/test/sql/autoincrement.test.lua b/test/sql/autoincrement.test.lua

Patch itself is LGTM (as obvious). But I am not a big fan of placing each
test in separate file (at least when there's no specific issue for that).
Moreover, in commit message it is said that this patch is follow-up to
#4546, so could you move this test to gh-4546-sql-drop-grants.test.lua ?

> new file mode 100644
> index 000000000..63a902aea
> --- /dev/null
> +++ b/test/sql/autoincrement.test.lua
> @@ -0,0 +1,33 @@
> +test_run = require('test_run').new()
> +engine = test_run:get_cfg('engine')
> +
> +--
> +-- Not automatic sequence should not be removed by DROP TABLE.
> +--
> +box.schema.user.create('user1')
> +test_space = box.schema.create_space('T', {         \
> +    engine = engine,                                \
> +    format = {{'i', 'integer'}}                     \
> +})
> +seq = box.schema.sequence.create('S')
> +ind = test_space:create_index('I', {sequence = 'S'})
> +box.schema.user.grant('user1', 'write', 'sequence', 'S')
> +box.execute('DROP TABLE t');
> +seqs = box.space._sequence:select{}
> +#seqs == 1 and seqs[1].name == seq.name or seqs
> +seq:drop()
> +
> +--
> +-- Automatic sequence should be removed at DROP TABLE, together
> +-- with all the grants.
> +--
> +box.execute('CREATE TABLE t (id INTEGER PRIMARY KEY AUTOINCREMENT)')
> +seqs = box.space._sequence:select{}
> +#seqs == 1 or seqs
> +seq = seqs[1].name
> +box.schema.user.grant('user1', 'write', 'sequence', seq)
> +box.execute('DROP TABLE t')
> +seqs = box.space._sequence:select{}
> +#seqs == 0 or seqs
> +
> +box.schema.user.drop('user1')
> diff --git a/test/sql/gh-4546-sql-drop-grants.result b/test/sql/gh-4546-sql-drop-grants.result
> index 1079d2ab4..9376c367d 100644
> --- a/test/sql/gh-4546-sql-drop-grants.result
> +++ b/test/sql/gh-4546-sql-drop-grants.result
> @@ -20,6 +20,12 @@ test_space = box.schema.create_space('T', {		\
>  })
>  ---
>  ...
> +seq = box.schema.sequence.create('S')
> +---
> +...
> +ind = test_space:create_index('I', {sequence = 'S'})
> +---
> +...
>  box.schema.user.grant('test_user1', 'read', 'space', 'T')
>  ---
>  ...
> @@ -36,3 +42,13 @@ box.schema.user.drop('test_user1')
>  box.schema.user.drop('test_user2')
>  ---
>  ...
> +seqs = box.space._sequence:select{}
> +---
> +...
> +#seqs == 1 and seqs[1].name == seq.name or seqs
> +---
> +- true
> +...
> +seq:drop()
> +---
> +...
> diff --git a/test/sql/gh-4546-sql-drop-grants.test.lua b/test/sql/gh-4546-sql-drop-grants.test.lua
> index 09cfeda19..ddb8cb0bb 100644
> --- a/test/sql/gh-4546-sql-drop-grants.test.lua
> +++ b/test/sql/gh-4546-sql-drop-grants.test.lua
> @@ -12,8 +12,13 @@ test_space = box.schema.create_space('T', {		\
>  	engine = engine,				\
>  	format = {{'i', 'integer'}}			\
>  })
> +seq = box.schema.sequence.create('S')
> +ind = test_space:create_index('I', {sequence = 'S'})
>  box.schema.user.grant('test_user1', 'read', 'space', 'T')
>  box.schema.user.grant('test_user2', 'write', 'space', 'T')
>  box.execute([[DROP TABLE T;]])
>  box.schema.user.drop('test_user1')
>  box.schema.user.drop('test_user2')
> +seqs = box.space._sequence:select{}
> +#seqs == 1 and seqs[1].name == seq.name or seqs
> +seq:drop()
> -- 
> 2.21.0 (Apple Git-122.2)
> 

  reply	other threads:[~2019-12-24  1:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-06 12:53 [Tarantool-patches] [PATCH] sql: remove grants associated with the table Chris Sosnin
2019-12-07 10:29 ` Chris Sosnin
2019-12-10 23:45 ` Vladislav Shpilevoy
2019-12-11  9:50   ` Chris Sosnin
2019-12-17 23:13     ` Vladislav Shpilevoy
2019-12-17 23:13       ` Vladislav Shpilevoy
2019-12-18 11:00       ` [Tarantool-patches] [PATCH 0/2] sql: revoke table privileges on drop Chris Sosnin
2019-12-18 11:00         ` [Tarantool-patches] [PATCH 1/2] sql: remove grants associated with the table Chris Sosnin
2019-12-24  1:37           ` Nikita Pettik
2019-12-24 16:47             ` Vladislav Shpilevoy
2019-12-18 11:00         ` [Tarantool-patches] [PATCH 2/2] sql: drop only generated sequence in DROP TABLE Chris Sosnin
2019-12-24  1:23           ` Nikita Pettik [this message]
2019-12-24 16:26             ` Vladislav Shpilevoy
2019-12-24 23:19               ` Nikita Pettik

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=20191224012307.GA49851@tarantool.org \
    --to=korablev@tarantool.org \
    --cc=k.sosnin@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH 2/2] sql: drop only generated sequence in DROP TABLE' \
    /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