diff --git a/test/sql/gh2141-delete-trigger-drop-table.result b/test/sql/gh2141-delete-trigger-drop-table.result new file mode 100644 index 0000000000000000000000000000000000000000..9bf76bff3a001a67c1ce6c76965ae7630c7f9e77 --- /dev/null +++ b/test/sql/gh2141-delete-trigger-drop-table.result @@ -0,0 +1,59 @@ +test_run = require('test_run').new() +--- +... +-- create space +box.sql.execute("DROP TABLE IF EXISTS t") +--- +... +box.sql.execute("CREATE TABLE t(id PRIMARY KEY)") +--- +... +-- create before update trigger +box.sql.execute("CREATE TRIGGER tt_bu BEFORE UPDATE ON t BEGIN SELECT 1; END") +--- +... +-- create after update trigger +box.sql.execute("CREATE TRIGGER tt_au AFTER UPDATE ON t BEGIN SELECT 1; END") +--- +... +-- create before insert trigger +box.sql.execute("CREATE TRIGGER tt_bi BEFORE INSERT ON t BEGIN SELECT 1; END") +--- +... +-- create after insert trigger +box.sql.execute("CREATE TRIGGER tt_ai AFTER INSERT ON t BEGIN SELECT 1; END") +--- +... +-- create before delete trigger +box.sql.execute("CREATE TRIGGER tt_bd BEFORE DELETE ON t BEGIN SELECT 1; END") +--- +... +-- create after delete trigger +box.sql.execute("CREATE TRIGGER tt_ad AFTER DELETE ON t BEGIN SELECT 1; END") +--- +... +-- check that this triggers exist +box.sql.execute("SELECT * FROM _trigger") +--- +- - ['tt_ad', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2FkIEFGVEVSIERFTEVURSBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=] + - ['tt_ai', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2FpIEFGVEVSIElOU0VSVCBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=] + - ['tt_au', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2F1IEFGVEVSIFVQREFURSBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=] + - ['tt_bd', !!binary gaNzcWzZO0NSRUFURSBUUklHR0VSIHR0X2JkIEJFRk9SRSBERUxFVEUgT04gdCBCRUdJTiBTRUxFQ1QgMTsgRU5E] + - ['tt_bi', !!binary gaNzcWzZO0NSRUFURSBUUklHR0VSIHR0X2JpIEJFRk9SRSBJTlNFUlQgT04gdCBCRUdJTiBTRUxFQ1QgMTsgRU5E] + - ['tt_bu', !!binary gaNzcWzZO0NSRUFURSBUUklHR0VSIHR0X2J1IEJFRk9SRSBVUERBVEUgT04gdCBCRUdJTiBTRUxFQ1QgMTsgRU5E] +... +-- drop table +box.sql.execute("DROP TABLE t IF EXISTS") +--- +- error: 'near "IF": syntax error' +... +-- check that triggers were dropped with deleted table +box.sql.execute("SELECT * FROM _trigger") +--- +- - ['tt_ad', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2FkIEFGVEVSIERFTEVURSBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=] + - ['tt_ai', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2FpIEFGVEVSIElOU0VSVCBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=] + - ['tt_au', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2F1IEFGVEVSIFVQREFURSBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=] + - ['tt_bd', !!binary gaNzcWzZO0NSRUFURSBUUklHR0VSIHR0X2JkIEJFRk9SRSBERUxFVEUgT04gdCBCRUdJTiBTRUxFQ1QgMTsgRU5E] + - ['tt_bi', !!binary gaNzcWzZO0NSRUFURSBUUklHR0VSIHR0X2JpIEJFRk9SRSBJTlNFUlQgT04gdCBCRUdJTiBTRUxFQ1QgMTsgRU5E] + - ['tt_bu', !!binary gaNzcWzZO0NSRUFURSBUUklHR0VSIHR0X2J1IEJFRk9SRSBVUERBVEUgT04gdCBCRUdJTiBTRUxFQ1QgMTsgRU5E] +... diff --git a/test/sql/gh2141-delete-trigger-drop-table.test.lua b/test/sql/gh2141-delete-trigger-drop-table.test.lua new file mode 100644 index 0000000000000000000000000000000000000000..6cb6273f171482b6160d1f15f9c192a5bd8affc7 --- /dev/null +++ b/test/sql/gh2141-delete-trigger-drop-table.test.lua @@ -0,0 +1,32 @@ +test_run = require('test_run').new() + +-- create space +box.sql.execute("DROP TABLE IF EXISTS t") +box.sql.execute("CREATE TABLE t(id PRIMARY KEY)") + +-- create before update trigger +box.sql.execute("CREATE TRIGGER tt_bu BEFORE UPDATE ON t BEGIN SELECT 1; END") + +-- create after update trigger +box.sql.execute("CREATE TRIGGER tt_au AFTER UPDATE ON t BEGIN SELECT 1; END") + +-- create before insert trigger +box.sql.execute("CREATE TRIGGER tt_bi BEFORE INSERT ON t BEGIN SELECT 1; END") + +-- create after insert trigger +box.sql.execute("CREATE TRIGGER tt_ai AFTER INSERT ON t BEGIN SELECT 1; END") + +-- create before delete trigger +box.sql.execute("CREATE TRIGGER tt_bd BEFORE DELETE ON t BEGIN SELECT 1; END") + +-- create after delete trigger +box.sql.execute("CREATE TRIGGER tt_ad AFTER DELETE ON t BEGIN SELECT 1; END") + +-- check that this triggers exist +box.sql.execute("SELECT * FROM _trigger") + +-- drop table +box.sql.execute("DROP TABLE t IF EXISTS") + +-- check that triggers were dropped with deleted table +box.sql.execute("SELECT * FROM _trigger")