1SET DEFAULT_STORAGE_ENGINE = 'TokuDB';
2drop function if exists bug13825_2|
3drop function if exists f_2|
4drop function if exists f_3|
5drop function if exists f_4|
6drop table if exists t1,t2|
7create table t1 (i int, primary key (i)) |
8create function bug13825_2() returns int
9begin
10savepoint x;
11insert into t1 values (2);
12savepoint y;
13insert into t1 values (3);
14#rollback to savepoint x;
15insert into t1 values (4);
16insert into t1 values (2);
17return 1;
18end|
19create function f_2() returns int
20begin
21insert into t1 values (2);
22savepoint y;
23insert into t1 values (3);
24rollback to savepoint y;
25insert into t1 values (4);
26return 1;
27end|
28create function f_3() returns int
29begin
30insert into t1 values (20);
31savepoint y;
32insert into t1 values (30);
33release savepoint y;
34insert into t1 values (40);
35insert into t1 values (20);
36return 1;
37end|
38create function f_4() returns int
39begin
40insert into t1 values (20);
41savepoint y;
42insert into t1 values (30);
43release savepoint y;
44insert into t1 values (40);
45return 1;
46end|
47set autocommit= 0|
48set @a:= bug13825_2()|
49ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
50select * from t1|
51i
52set @a:= f_2()|
53select * from t1|
54i
552
564
57set @a:= f_3()|
58ERROR 23000: Duplicate entry '20' for key 'PRIMARY'
59select * from t1|
60i
612
624
63set @a:= f_4()|
64select * from t1|
65i
662
674
6820
6930
7040
71set autocommit= 1|
72drop function bug13825_2|
73drop function f_2|
74drop function f_3|
75drop function f_4|
76drop table t1|
77