Merge branch '10.1' into 10.2
This commit is contained in:
commit
259edb1f60
@ -16813,37 +16813,6 @@ ha_innobase::get_auto_increment(
|
||||
|
||||
(3) It is restricted only for insert operations. */
|
||||
|
||||
if (increment > 1 && thd_sql_command(m_user_thd) != SQLCOM_ALTER_TABLE
|
||||
&& autoinc < col_max_value) {
|
||||
|
||||
ulonglong prev_auto_inc = autoinc;
|
||||
|
||||
autoinc = ((autoinc - 1) + increment - offset)/ increment;
|
||||
|
||||
autoinc = autoinc * increment + offset;
|
||||
|
||||
/* If autoinc exceeds the col_max_value then reset
|
||||
to old autoinc value. Because in case of non-strict
|
||||
sql mode, boundary value is not considered as error. */
|
||||
|
||||
if (autoinc >= col_max_value) {
|
||||
autoinc = prev_auto_inc;
|
||||
}
|
||||
|
||||
ut_ad(autoinc > 0);
|
||||
}
|
||||
|
||||
/** The following logic is needed to avoid duplicate key error
|
||||
for autoincrement column.
|
||||
|
||||
(1) InnoDB gives the current autoincrement value with respect
|
||||
to increment and offset value.
|
||||
|
||||
(2) Basically it does compute_next_insert_id() logic inside InnoDB
|
||||
to avoid the current auto increment value changed by handler layer.
|
||||
|
||||
(3) It is restricted only for insert operations. */
|
||||
|
||||
if (increment > 1 && thd_sql_command(m_user_thd) != SQLCOM_ALTER_TABLE
|
||||
&& autoinc < col_max_value) {
|
||||
|
||||
|
@ -16580,37 +16580,6 @@ ha_innobase::get_auto_increment(
|
||||
|
||||
(3) It is restricted only for insert operations. */
|
||||
|
||||
if (increment > 1 && thd_sql_command(user_thd) != SQLCOM_ALTER_TABLE
|
||||
&& autoinc < col_max_value) {
|
||||
|
||||
ulonglong prev_auto_inc = autoinc;
|
||||
|
||||
autoinc = ((autoinc - 1) + increment - offset)/ increment;
|
||||
|
||||
autoinc = autoinc * increment + offset;
|
||||
|
||||
/* If autoinc exceeds the col_max_value then reset
|
||||
to old autoinc value. Because in case of non-strict
|
||||
sql mode, boundary value is not considered as error. */
|
||||
|
||||
if (autoinc >= col_max_value) {
|
||||
autoinc = prev_auto_inc;
|
||||
}
|
||||
|
||||
ut_ad(autoinc > 0);
|
||||
}
|
||||
|
||||
/** The following logic is needed to avoid duplicate key error
|
||||
for autoincrement column.
|
||||
|
||||
(1) InnoDB gives the current autoincrement value with respect
|
||||
to increment and offset value.
|
||||
|
||||
(2) Basically it does compute_next_insert_id() logic inside InnoDB
|
||||
to avoid the current auto increment value changed by handler layer.
|
||||
|
||||
(3) It is restricted only for insert operations. */
|
||||
|
||||
if (increment > 1 && thd_sql_command(user_thd) != SQLCOM_ALTER_TABLE
|
||||
&& autoinc < col_max_value) {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user