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:
unknown 2006-07-09 22:50:02 +02:00
commit 9939a66bec
30 changed files with 1219 additions and 386 deletions

View file

@ -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;
}