Thank you for review! Diff between two last patches and new patch
below.
Fixed - changed last test.
Added.+-- +-- Check that _space, _index and _sequence have the same number of +-- records. +-- +space_count == #box.space._space:select() +index_count == #box.space._index:select() +sequence_count == #box.space._sequence:select() + +box.schema.user.drop('tmp’)I see no tests involving FK constraints. Add them as well.
diff --git a/test/sql/drop-table.test.lua b/test/sql/drop-table.test.lua
index 1bc8894..f86e3d8 100644
--- a/test/sql/drop-table.test.lua
+++ b/test/sql/drop-table.test.lua
+-- Give user right to write in _sequence. Still have not enough
+-- rights to write in _fk_constraint.
+--
+box.schema.user.grant('tmp', 'write', 'space', '_sequence')
+box.session.su('tmp')
+
+box.sql.execute('CREATE TABLE t3(a INTEGER PRIMARY KEY);')
+--
+-- Error: user do not have rights to write in _fk_constraint.
+--
+box.sql.execute('CREATE TABLE t4(x INTEGER PRIMARY KEY REFERENCES t3);')
+box.sql.execute('DROP TABLE t3;’)
You misunderstood me a bit. I mean following test:
fk_count = #box.space._fk_constraints:select()
box.sql.execute('CREATE TABLE t4(x INTEGER PRIMARY KEY REFERENCES t3, a INT UNIQUE, c INT REFERENCES t3);’)
Here creation of last FK fails - for instance due to type mismatch.Then, number of created FK constraints (and indexes) should be unchanged:
fk_count == #box.space._fk_constraints:select()index_count == #box.space._fk_constraints:select()
Note that FK constraints are created after indexes.