diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-10-10 21:30:40 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-10-10 21:30:40 +0300 |
commit | 09afd3da1a80e403b5375845770dde61832afa50 (patch) | |
tree | a157942b08fc3d6bf97e2af3ae6e1d2e2ecbfc3e /sql/ha_partition.h | |
parent | 0f7732d1d1d898f1a9051858932c18bcc9d6f2b4 (diff) | |
parent | 4cdb72f2372b27e1fbbc573812240c1e29128c8f (diff) | |
download | mariadb-git-09afd3da1a80e403b5375845770dde61832afa50.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r-- | sql/ha_partition.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h index de5b4f2a66f..6407a607fe7 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -92,6 +92,7 @@ public: bool auto_inc_initialized; mysql_mutex_t auto_inc_mutex; /**< protecting auto_inc val */ ulonglong next_auto_inc_val; /**< first non reserved value */ + ulonglong prev_auto_inc_val; /**< stored next_auto_inc_val */ /** Hash of partition names. Initialized in the first ha_partition::open() for the table_share. After that it is read-only, i.e. no locking required. @@ -103,6 +104,7 @@ public: Partition_share() : auto_inc_initialized(false), next_auto_inc_val(0), + prev_auto_inc_val(0), partition_name_hash_initialized(false), partition_names(NULL) { @@ -371,6 +373,24 @@ private: MY_BITMAP m_locked_partitions; /** Stores shared auto_increment etc. */ Partition_share *part_share; + /** Fix spurious -Werror=overloaded-virtual in GCC 9 */ + virtual void restore_auto_increment(ulonglong prev_insert_id) + { + handler::restore_auto_increment(prev_insert_id); + } + /** Store and restore next_auto_inc_val over duplicate key errors. */ + virtual void store_auto_increment() + { + DBUG_ASSERT(part_share); + part_share->prev_auto_inc_val= part_share->next_auto_inc_val; + handler::store_auto_increment(); + } + virtual void restore_auto_increment() + { + DBUG_ASSERT(part_share); + part_share->next_auto_inc_val= part_share->prev_auto_inc_val; + handler::restore_auto_increment(); + } /** Temporary storage for new partitions Handler_shares during ALTER */ List<Parts_share_refs> m_new_partitions_share_refs; /** Sorted array of partition ids in descending order of number of rows. */ |