-
Thirunarayanan B authored
Analysis: When an InnoDB in-place ALTER fails, it leaves behind both a temporary filename like "#sql-ibtid" where tid represents the table ID of the table being altered) in its data dictionary. This makes future in-place ALTERs of the same table impossible because the temporary table is named only with the table ID. Solution: This patch is adding more uniqueness to the temporary file name. It creates a temporary tablename like "#sql-ibtid-inc" where tid = the table ID inc = static global number that is initialized to a random distributed 32-bit number using ut_time() and ut_crc32().It is then incremented atomically for each temporary file name assigned. rb5580 Approved by Kevin, Marko
Thirunarayanan B authoredAnalysis: When an InnoDB in-place ALTER fails, it leaves behind both a temporary filename like "#sql-ibtid" where tid represents the table ID of the table being altered) in its data dictionary. This makes future in-place ALTERs of the same table impossible because the temporary table is named only with the table ID. Solution: This patch is adding more uniqueness to the temporary file name. It creates a temporary tablename like "#sql-ibtid-inc" where tid = the table ID inc = static global number that is initialized to a random distributed 32-bit number using ut_time() and ut_crc32().It is then incremented atomically for each temporary file name assigned. rb5580 Approved by Kevin, Marko
Loading