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) >
next prev parent 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