mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds
Fix for this bug and additional improvements/fixes
In detail:
- Remove unicode attribute from several columns
(unicode properties were nowhere needed/tested)
of the table tb3
-> The runnability of these tests depends no more on
the availibility of some optional collations.
- Use a table tb3 with the same layout for all
engines to be tested and unify the engine name
within the protocols.
-> <engine>_trig_<abc>.result have the same content
- Do not load data into tb3 if these rows have no
impact on result sets
- Add tests for NDB (they exist already in 5.1)
- "--replace_result" at various places because
NDB variants of tests failed with "random" row
order in results
This fixes a till now unknown weakness within the
funcs_1 NDB tests existing in 5.1 and 6.0
- Fix the expected result of ndb_trig_1011ext
which suffered from Bug 32656
+ disable this test
- funcs_1 could be executed with the mysql-test-run.pl
option "--reorder", which saves some runtime by
optimizing server restarts.
Runtimes on tmpfs (one attempt only):
with reorder 132 seconds
without reorder 183 seconds
- Adjust two "check" statements within func_misc.test
which were incorrect (We had one run with result set
difference though the server worked good.)
- minor fixes in comments
This commit is contained in:
@@ -4,6 +4,14 @@
|
||||
# (test case numbering refer to requirement document TP v1.1)
|
||||
#======================================================================
|
||||
|
||||
USE test;
|
||||
--source suite/funcs_1/include/tb3.inc
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
|
||||
eval
|
||||
load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb3.txt'
|
||||
into table tb3;
|
||||
|
||||
--disable_abort_on_error
|
||||
|
||||
##############################################
|
||||
@@ -49,6 +57,7 @@ let $message= Testcase 3.5.10.1/2/3:;
|
||||
Insert into vw11 (f122, f151) values ('Not in View', 3);
|
||||
select f121, f122, f151, f163
|
||||
from tb3 where f122 like 'Test 3.5.10.1/2/3%' order by f151;
|
||||
--sorted_result
|
||||
select f121, f122, f151, f163 from vw11;
|
||||
select f121, f122, f151, f163
|
||||
from tb3 where f122 like 'Not in View';
|
||||
@@ -57,6 +66,7 @@ let $message= Testcase 3.5.10.1/2/3:;
|
||||
Update vw11 set f163=1;
|
||||
select f121, f122, f151, f163 from tb3
|
||||
where f122 like 'Test 3.5.10.1/2/3%' order by f151;
|
||||
--sorted_result
|
||||
select f121, f122, f151, f163 from vw11;
|
||||
|
||||
#Section 3.5.10.3
|
||||
@@ -65,6 +75,7 @@ let $message= Testcase 3.5.10.1/2/3:;
|
||||
delete from vw11 where f151=1;
|
||||
select f121, f122, f151, f163 from tb3
|
||||
where f122 like 'Test 3.5.10.1/2/3%' order by f151;
|
||||
--sorted_result
|
||||
select f121, f122, f151, f163 from vw11;
|
||||
Select @test_var as 'after delete';
|
||||
|
||||
@@ -88,7 +99,8 @@ let $message= Testcase 3.5.10.1/2/3:;
|
||||
let $message= Testcase 3.5.10.4:;
|
||||
--source include/show_msg.inc
|
||||
|
||||
eval create table tb_load (f1 int, f2 char(25),f3 int) engine=$engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table tb_load (f1 int, f2 char(25),f3 int) engine = $engine_type;
|
||||
Create trigger trg4 before insert on tb_load
|
||||
for each row set new.f3=-(new.f1 div 5), @counter= @counter+1;
|
||||
|
||||
@@ -131,7 +143,8 @@ let $message= Testcase 3.5.10.6: (implemented in trig_frkey.test);
|
||||
let $message= Testcase 3.5.10.extra:;
|
||||
--source include/show_msg.inc
|
||||
|
||||
eval create table t1_sp (var136 tinyint, var151 decimal) engine=$engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t1_sp (var136 tinyint, var151 decimal) engine = $engine_type;
|
||||
|
||||
create trigger trg before insert on t1_sp
|
||||
for each row set @counter=@counter+1;
|
||||
@@ -203,12 +216,18 @@ let $message= Testcase y.y.y.2: Check for triggers starting triggers;
|
||||
drop table if exists t3;
|
||||
--enable_warnings
|
||||
|
||||
eval create table t1 (f1 integer) engine=$engine_type;
|
||||
eval create table t2_1 (f1 integer) engine=$engine_type;
|
||||
eval create table t2_2 (f1 integer) engine=$engine_type;
|
||||
eval create table t2_3 (f1 integer) engine=$engine_type;
|
||||
eval create table t2_4 (f1 integer) engine=$engine_type;
|
||||
eval create table t3 (f1 integer) engine=$engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t1 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t2_1 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t2_2 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t2_3 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t2_4 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t3 (f1 integer) engine = $engine_type;
|
||||
|
||||
insert into t1 values (1);
|
||||
delimiter //;
|
||||
@@ -256,9 +275,13 @@ let $message= Testcase y.y.y.3: Circular trigger reference;
|
||||
drop table if exists t3;
|
||||
drop table if exists t4;
|
||||
--enable_warnings
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t1 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t2 (f2 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t3 (f3 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t4 (f4 integer) engine = $engine_type;
|
||||
|
||||
insert into t1 values (0);
|
||||
@@ -298,10 +321,11 @@ let $message= Testcase y.y.y.4: Recursive trigger/SP references;
|
||||
--source include/show_msg.inc
|
||||
|
||||
set @sql_mode='traditional';
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t1_sp (
|
||||
count integer,
|
||||
var136 tinyint,
|
||||
var151 decimal) engine=$engine_type;
|
||||
var151 decimal) engine = $engine_type;
|
||||
|
||||
delimiter //;
|
||||
create procedure trig_sp()
|
||||
@@ -353,7 +377,7 @@ set @sql_mode='traditional';
|
||||
|
||||
# Testcase: y.y.y.5:
|
||||
# Checking rollback of nested trigger definitions
|
||||
let $message= Testcase y.y.y.5: Roleback of nested trigger references;
|
||||
let $message= Testcase y.y.y.5: Rollback of nested trigger references;
|
||||
--source include/show_msg.inc
|
||||
|
||||
set @@sql_mode='traditional';
|
||||
@@ -364,10 +388,15 @@ let $message= Testcase y.y.y.5: Roleback of nested trigger references;
|
||||
drop table if exists t3;
|
||||
drop table if exists t4;
|
||||
--enable_warnings
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t1 (f1 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t2 (f2 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t3 (f3 integer) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
eval create table t4 (f4 tinyint) engine = $engine_type;
|
||||
--replace_result $engine_type <engine_to_be_used>
|
||||
show create table t1;
|
||||
insert into t1 values (1);
|
||||
create trigger tr1 after insert on t1
|
||||
@@ -377,19 +406,18 @@ let $message= Testcase y.y.y.5: Roleback of nested trigger references;
|
||||
create trigger tr3 after insert on t3
|
||||
for each row insert into t4 (f4) values (new.f3+1000);
|
||||
|
||||
#lock tables t1 write, t2 write, t3 write, t4 write;
|
||||
|
||||
set autocommit=0;
|
||||
start transaction;
|
||||
# Bug#32656 NDB: Duplicate key error aborts transaction in handler.
|
||||
# Doesn't talk back to SQL
|
||||
--error ER_WARN_DATA_OUT_OF_RANGE
|
||||
insert into t1 values (1);
|
||||
commit;
|
||||
select * from t1 order by f1;
|
||||
select * from t2 order by f2;
|
||||
select * from t3 order by f3;
|
||||
#unlock tables;
|
||||
|
||||
#Cleanup
|
||||
--disable_warnings
|
||||
drop trigger tr1;
|
||||
drop trigger tr2;
|
||||
drop trigger tr3;
|
||||
@@ -397,5 +425,5 @@ let $message= Testcase y.y.y.5: Roleback of nested trigger references;
|
||||
drop table t2;
|
||||
drop table t3;
|
||||
drop table t4;
|
||||
--enable_warnings
|
||||
|
||||
DROP TABLE test.tb3;
|
||||
|
||||
Reference in New Issue
Block a user