mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#17138: Stored procedure error
Review fixes mysql-test/r/partition.result: Review fixes mysql-test/t/partition.test: Review fixes sql/sql_insert.cc: Fixed a bug
This commit is contained in:
@ -1043,11 +1043,12 @@ alter table t1 add partition (partition p2 values in (3));
|
|||||||
alter table t1 drop partition p2;
|
alter table t1 drop partition p2;
|
||||||
use test;
|
use test;
|
||||||
drop database db99;
|
drop database db99;
|
||||||
|
drop procedure if exists mysqltest_1;
|
||||||
create table t1 (a int)
|
create table t1 (a int)
|
||||||
partition by list (a)
|
partition by list (a)
|
||||||
(partition p0 values in (0));
|
(partition p0 values in (0));
|
||||||
insert into t1 values (0);
|
insert into t1 values (0);
|
||||||
create procedure po ()
|
create procedure mysqltest_1 ()
|
||||||
begin
|
begin
|
||||||
begin
|
begin
|
||||||
declare continue handler for sqlexception begin end;
|
declare continue handler for sqlexception begin end;
|
||||||
@ -1056,6 +1057,7 @@ end;
|
|||||||
prepare stmt1 from 'alter table t1';
|
prepare stmt1 from 'alter table t1';
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
end//
|
end//
|
||||||
call po()//
|
call mysqltest_1()//
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop procedure mysqltest_1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -1202,7 +1202,9 @@ drop database db99;
|
|||||||
#
|
#
|
||||||
#BUG 17138 Problem with stored procedure and analyze partition
|
#BUG 17138 Problem with stored procedure and analyze partition
|
||||||
#
|
#
|
||||||
drop procedure mysqltest_1 if exists;
|
--disable_warnings
|
||||||
|
drop procedure if exists mysqltest_1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
create table t1 (a int)
|
create table t1 (a int)
|
||||||
partition by list (a)
|
partition by list (a)
|
||||||
|
@ -981,8 +981,13 @@ int write_record(THD *thd, TABLE *table,COPY_INFO *info)
|
|||||||
goto err;
|
goto err;
|
||||||
table->file->restore_auto_increment(); // it's too early here! BUG#20188
|
table->file->restore_auto_increment(); // it's too early here! BUG#20188
|
||||||
is_duplicate_key_error= table->file->is_fatal_error(error, 0);
|
is_duplicate_key_error= table->file->is_fatal_error(error, 0);
|
||||||
if (info->ignore && !is_duplicate_key_error)
|
if (!is_duplicate_key_error)
|
||||||
|
{
|
||||||
|
if (info->ignore)
|
||||||
goto ok_or_after_trg_err;
|
goto ok_or_after_trg_err;
|
||||||
|
else
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
if ((int) (key_nr = table->file->get_dup_key(error)) < 0)
|
if ((int) (key_nr = table->file->get_dup_key(error)) < 0)
|
||||||
{
|
{
|
||||||
error=HA_ERR_FOUND_DUPP_KEY; /* Database can't find key */
|
error=HA_ERR_FOUND_DUPP_KEY; /* Database can't find key */
|
||||||
|
Reference in New Issue
Block a user