diff --git a/sql/handler.cc b/sql/handler.cc index 05d69bdb2ce..28f581d8b59 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -3059,45 +3059,6 @@ void handler::adjust_next_insert_id_after_explicit_value(ulonglong nr) } -/** @brief - Computes the largest number X: - - smaller than or equal to "nr" - - of the form: auto_increment_offset + N * auto_increment_increment - where N>=0. - - SYNOPSIS - prev_insert_id - nr Number to "round down" - variables variables struct containing auto_increment_increment and - auto_increment_offset - - RETURN - The number X if it exists, "nr" otherwise. -*/ -inline ulonglong -prev_insert_id(ulonglong nr, struct system_variables *variables) -{ - if (unlikely(nr < variables->auto_increment_offset)) - { - /* - There's nothing good we can do here. That is a pathological case, where - the offset is larger than the column's max possible value, i.e. not even - the first sequence value may be inserted. User will receive warning. - */ - DBUG_PRINT("info",("auto_increment: nr: %lu cannot honour " - "auto_increment_offset: %lu", - (ulong) nr, variables->auto_increment_offset)); - return nr; - } - if (variables->auto_increment_increment == 1) - return nr; // optimization of the formula below - nr= (((nr - variables->auto_increment_offset)) / - (ulonglong) variables->auto_increment_increment); - return (nr * (ulonglong) variables->auto_increment_increment + - variables->auto_increment_offset); -} - - /** Update the auto_increment field if necessary.