mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
Merge gbichot3.local:/home/mysql_src/mysql-5.1-interval-move-next-insert-id
into gbichot3.local:/home/mysql_src/mysql-5.1 sql/ha_federated.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/log_event.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/handler.cc: will fix by hand mysql-test/extra/rpl_tests/rpl_insert_id.test: merge mysql-test/r/rpl_insert_id.result: merge sql/sql_insert.cc: merge
This commit is contained in:
commit
9939a66bec
30 changed files with 1219 additions and 386 deletions
|
|
@ -2794,7 +2794,8 @@ byte *sys_var_timestamp::value_ptr(THD *thd, enum_var_type type,
|
|||
|
||||
bool sys_var_last_insert_id::update(THD *thd, set_var *var)
|
||||
{
|
||||
thd->insert_id(var->save_result.ulonglong_value);
|
||||
thd->first_successful_insert_id_in_prev_stmt=
|
||||
var->save_result.ulonglong_value;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -2802,14 +2803,19 @@ bool sys_var_last_insert_id::update(THD *thd, set_var *var)
|
|||
byte *sys_var_last_insert_id::value_ptr(THD *thd, enum_var_type type,
|
||||
LEX_STRING *base)
|
||||
{
|
||||
thd->sys_var_tmp.long_value= (long) thd->insert_id();
|
||||
return (byte*) &thd->last_insert_id;
|
||||
/*
|
||||
this tmp var makes it robust againt change of type of
|
||||
read_first_successful_insert_id_in_prev_stmt().
|
||||
*/
|
||||
thd->sys_var_tmp.ulonglong_value=
|
||||
thd->read_first_successful_insert_id_in_prev_stmt();
|
||||
return (byte*) &thd->sys_var_tmp.ulonglong_value;
|
||||
}
|
||||
|
||||
|
||||
bool sys_var_insert_id::update(THD *thd, set_var *var)
|
||||
{
|
||||
thd->next_insert_id= var->save_result.ulonglong_value;
|
||||
thd->force_one_auto_inc_interval(var->save_result.ulonglong_value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -2817,7 +2823,9 @@ 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;
|
||||
thd->sys_var_tmp.ulonglong_value=
|
||||
thd->auto_inc_intervals_forced.minimum();
|
||||
return (byte*) &thd->sys_var_tmp.ulonglong_value;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue