[MDEV-28004] ha_innobase::reset_auto_increment() is never executed Created: 2022-03-04  Updated: 2022-03-04  Resolved: 2022-03-04

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9
Fix Version/s: 10.3.35, 10.4.25, 10.5.16, 10.6.8, 10.7.4, 10.8.3

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None


 Description   

The virtual member function handler::reset_auto_increment(ulonglong) is only ever invoked by the default implementation of handler::truncate():

  virtual int truncate()
  {
    int error= delete_all_rows();
    return error ? error : reset_auto_increment(0);
  }

All derived implementations of handler::reset_auto_increment() as well as the wrapper handler::ha_reset_auto_increment() only seem to serve this use case.

The functions ha_innobase::innobase_reset_autoinc() and ha_innobase::reset_auto_increment() are actually unreachable, because ha_innobase::truncate() never invokes handler::truncate().

Also, ha_innobase::delete_all_rows() unnecessarily overrides handler::delete_all_rows().


Generated at Thu Feb 08 09:57:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.