mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bugs#20392: INSERT_ID session variable has weird value
sys_var_insert_id returned LAST_INSERT_ID instead of INSERT_ID.
This commit is contained in:
@ -421,6 +421,18 @@ set tmp_table_size=100;
|
||||
set tx_isolation="READ-COMMITTED";
|
||||
set wait_timeout=100;
|
||||
set log_warnings=1;
|
||||
select @@session.insert_id;
|
||||
@@session.insert_id
|
||||
1
|
||||
set @save_insert_id=@@session.insert_id;
|
||||
set session insert_id=20;
|
||||
select @@session.insert_id;
|
||||
@@session.insert_id
|
||||
20
|
||||
set @@session.insert_id=@save_insert_id;
|
||||
select @@session.insert_id;
|
||||
@@session.insert_id
|
||||
1
|
||||
create table t1 (a int not null auto_increment, primary key(a));
|
||||
create table t2 (a int not null auto_increment, primary key(a));
|
||||
insert into t1 values(null),(null),(null);
|
||||
|
@ -301,6 +301,16 @@ set tx_isolation="READ-COMMITTED";
|
||||
set wait_timeout=100;
|
||||
set log_warnings=1;
|
||||
|
||||
#
|
||||
# Bugs: #20392: INSERT_ID session variable has weird value
|
||||
#
|
||||
select @@session.insert_id;
|
||||
set @save_insert_id=@@session.insert_id;
|
||||
set session insert_id=20;
|
||||
select @@session.insert_id;
|
||||
set @@session.insert_id=@save_insert_id;
|
||||
select @@session.insert_id;
|
||||
|
||||
#
|
||||
# key buffer
|
||||
#
|
||||
|
@ -2578,7 +2578,7 @@ bool sys_var_insert_id::update(THD *thd, set_var *var)
|
||||
byte *sys_var_insert_id::value_ptr(THD *thd, enum_var_type type,
|
||||
LEX_STRING *base)
|
||||
{
|
||||
return (byte*) &thd->current_insert_id;
|
||||
return (byte*) &thd->next_insert_id;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user