diff options
author | Oleg Smirnov <olernov@gmail.com> | 2023-01-02 14:46:46 +0700 |
---|---|---|
committer | Oleg Smirnov <olernov@gmail.com> | 2023-01-02 14:46:50 +0700 |
commit | 657ddf17491740f652f011458f03366e70c4728f (patch) | |
tree | b0d31279d3848424dab3a1260a59fcd2cebdc1b4 /storage | |
parent | 92665b862b479f6582e3a15247bfc812e59e7e34 (diff) | |
download | mariadb-git-10.9-MDEV-16232.tar.gz |
MDEV-16232: Use fewer mini-transactions10.9-MDEV-16232
SQL Layer support #3.
Add checks of applicability for UPDATEs and DELETEs.
Rename "operations batch" to "mini transactions" to disambiguate
the term "batch" which is already used.
Temporary disable mini-transactions for SELECTs.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/archive/ha_archive.h | 2 | ||||
-rw-r--r-- | storage/blackhole/ha_blackhole.h | 3 | ||||
-rw-r--r-- | storage/csv/ha_tina.h | 3 | ||||
-rw-r--r-- | storage/example/ha_example.h | 3 | ||||
-rw-r--r-- | storage/federated/ha_federated.h | 3 | ||||
-rw-r--r-- | storage/federatedx/ha_federatedx.h | 3 | ||||
-rw-r--r-- | storage/heap/ha_heap.h | 2 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 4 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.h | 4 | ||||
-rw-r--r-- | storage/maria/ha_maria.h | 2 | ||||
-rw-r--r-- | storage/myisam/ha_myisam.h | 2 | ||||
-rw-r--r-- | storage/myisammrg/ha_myisammrg.h | 2 | ||||
-rw-r--r-- | storage/perfschema/ha_perfschema.h | 3 | ||||
-rw-r--r-- | storage/sequence/sequence.cc | 2 | ||||
-rw-r--r-- | storage/sphinx/ha_sphinx.h | 2 | ||||
-rw-r--r-- | storage/spider/ha_spider.h | 2 | ||||
-rw-r--r-- | storage/test_sql_discovery/test_sql_discovery.cc | 2 |
17 files changed, 5 insertions, 39 deletions
diff --git a/storage/archive/ha_archive.h b/storage/archive/ha_archive.h index 572487a126c..2bb5079868b 100644 --- a/storage/archive/ha_archive.h +++ b/storage/archive/ha_archive.h @@ -159,8 +159,6 @@ public: unsigned int pack_row(const uchar *record, azio_stream *writer); bool check_if_incompatible_data(HA_CREATE_INFO *info, uint table_changes); int external_lock(THD *thd, int lock_type); - void start_operations_batch() {} - void end_operations_batch() {} private: void flush_and_clear_pending_writes(); }; diff --git a/storage/blackhole/ha_blackhole.h b/storage/blackhole/ha_blackhole.h index 362fc3ee054..baa140bc04a 100644 --- a/storage/blackhole/ha_blackhole.h +++ b/storage/blackhole/ha_blackhole.h @@ -100,9 +100,6 @@ public: { return 0; } - - void start_operations_batch() {} - void end_operations_batch() {} private: virtual int write_row(const uchar *buf); virtual int update_row(const uchar *old_data, const uchar *new_data); diff --git a/storage/csv/ha_tina.h b/storage/csv/ha_tina.h index 3178b66fd64..043183444da 100644 --- a/storage/csv/ha_tina.h +++ b/storage/csv/ha_tina.h @@ -176,8 +176,5 @@ public: int encode_quote(const uchar *buf); int find_current_row(uchar *buf); int chain_append(); - - void start_operations_batch() {} - void end_operations_batch() {} }; diff --git a/storage/example/ha_example.h b/storage/example/ha_example.h index a735f9bdca2..2d3fa6d4216 100644 --- a/storage/example/ha_example.h +++ b/storage/example/ha_example.h @@ -253,7 +253,4 @@ public: THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type); ///< required - - void start_operations_batch() {} - void end_operations_batch() {} }; diff --git a/storage/federated/ha_federated.h b/storage/federated/ha_federated.h index 0571fcbda89..0c6285f3ac6 100644 --- a/storage/federated/ha_federated.h +++ b/storage/federated/ha_federated.h @@ -284,8 +284,5 @@ public: int connection_autocommit(bool state); int execute_simple_query(const char *query, int len); int reset(void); - - void start_operations_batch() {} - void end_operations_batch() {} }; diff --git a/storage/federatedx/ha_federatedx.h b/storage/federatedx/ha_federatedx.h index db7e9e29a4f..a382f9367f9 100644 --- a/storage/federatedx/ha_federatedx.h +++ b/storage/federatedx/ha_federatedx.h @@ -465,9 +465,6 @@ public: friend class ha_federatedx_derived_handler; friend class ha_federatedx_select_handler; - - void start_operations_batch() {} - void end_operations_batch() {} }; extern const char ident_quote_char; // Character for quoting diff --git a/storage/heap/ha_heap.h b/storage/heap/ha_heap.h index 3fbeddcec7a..3a41028c719 100644 --- a/storage/heap/ha_heap.h +++ b/storage/heap/ha_heap.h @@ -120,8 +120,6 @@ public: } bool check_if_incompatible_data(HA_CREATE_INFO *info, uint table_changes); int find_unique_row(uchar *record, uint unique_idx); - void start_operations_batch() {} - void end_operations_batch() {} private: void update_key_stats(); }; diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index f61ce489e37..8574507d83f 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -20643,14 +20643,14 @@ Compare_keys ha_innobase::compare_key_parts( return Compare_keys::Equal; } -void ha_innobase::start_operations_batch() +void ha_innobase::start_mini_transaction() { ut_ad(!m_prebuilt->batch_mtr); if (!m_prebuilt->table->is_temporary()) m_prebuilt->batch_mtr= new row_batch_mtr_t(); } -void ha_innobase::end_operations_batch() +void ha_innobase::end_mini_transaction() { if (m_prebuilt->batch_mtr) { diff --git a/storage/innobase/handler/ha_innodb.h b/storage/innobase/handler/ha_innodb.h index dc1bb542f99..b5deb6d53a7 100644 --- a/storage/innobase/handler/ha_innodb.h +++ b/storage/innobase/handler/ha_innodb.h @@ -444,8 +444,8 @@ public: const KEY_PART_INFO& old_part, const KEY_PART_INFO& new_part) const override; - void start_operations_batch(); - void end_operations_batch(); + void start_mini_transaction() override; + void end_mini_transaction() override; protected: dberr_t innobase_get_autoinc(ulonglong* value); dberr_t innobase_lock_autoinc(); diff --git a/storage/maria/ha_maria.h b/storage/maria/ha_maria.h index c2483722f7c..6b4302145dd 100644 --- a/storage/maria/ha_maria.h +++ b/storage/maria/ha_maria.h @@ -190,8 +190,6 @@ public: virtual S3_INFO *s3_open_args() { return 0; } virtual void register_handler(MARIA_HA *file) {} - void start_operations_batch() {} - void end_operations_batch() {} private: DsMrr_impl ds_mrr; friend check_result_t index_cond_func_maria(void *arg); diff --git a/storage/myisam/ha_myisam.h b/storage/myisam/ha_myisam.h index f796a4978ef..3843004cc6e 100644 --- a/storage/myisam/ha_myisam.h +++ b/storage/myisam/ha_myisam.h @@ -174,8 +174,6 @@ public: Item *idx_cond_push(uint keyno, Item* idx_cond); bool rowid_filter_push(Rowid_filter* rowid_filter); - void start_operations_batch() {} - void end_operations_batch() {} private: DsMrr_impl ds_mrr; friend check_result_t index_cond_func_myisam(void *arg); diff --git a/storage/myisammrg/ha_myisammrg.h b/storage/myisammrg/ha_myisammrg.h index d0710bc1b83..6da327ec84b 100644 --- a/storage/myisammrg/ha_myisammrg.h +++ b/storage/myisammrg/ha_myisammrg.h @@ -159,6 +159,4 @@ public: Query_cache_block_table **block, uint *n); virtual void set_lock_type(enum thr_lock_type lock); - void start_operations_batch() {} - void end_operations_batch() {} }; diff --git a/storage/perfschema/ha_perfschema.h b/storage/perfschema/ha_perfschema.h index 62bf9789859..0e7624ec671 100644 --- a/storage/perfschema/ha_perfschema.h +++ b/storage/perfschema/ha_perfschema.h @@ -204,8 +204,7 @@ public: virtual void print_error(int error, myf errflags); - void start_operations_batch() {} - void end_operations_batch() {} + private: /** Check if the caller is a replication thread or the caller is called diff --git a/storage/sequence/sequence.cc b/storage/sequence/sequence.cc index 2dbff8dde90..f5a18094521 100644 --- a/storage/sequence/sequence.cc +++ b/storage/sequence/sequence.cc @@ -104,8 +104,6 @@ public: double read_time(uint index, uint ranges, ha_rows rows) { return (double)rows; } double keyread_time(uint index, uint ranges, ha_rows rows) { return (double)rows; } - void start_operations_batch() {} - void end_operations_batch() {} private: void set(uchar *buf); ulonglong nvalues() { return (seqs->to - seqs->from)/seqs->step; } diff --git a/storage/sphinx/ha_sphinx.h b/storage/sphinx/ha_sphinx.h index 61b39d003fd..f03e9d8c797 100644 --- a/storage/sphinx/ha_sphinx.h +++ b/storage/sphinx/ha_sphinx.h @@ -135,8 +135,6 @@ public: #endif virtual void cond_pop (); - void start_operations_batch() {} - void end_operations_batch() {} private: uint32 m_iFields; char ** m_dFields; diff --git a/storage/spider/ha_spider.h b/storage/spider/ha_spider.h index 54f2307215e..579700d855b 100644 --- a/storage/spider/ha_spider.h +++ b/storage/spider/ha_spider.h @@ -821,6 +821,4 @@ public: int append_lock_tables_list(); int lock_tables(); int dml_init(); - void start_operations_batch() {} - void end_operations_batch() {} }; diff --git a/storage/test_sql_discovery/test_sql_discovery.cc b/storage/test_sql_discovery/test_sql_discovery.cc index aafa9c41cb7..0758d5f503f 100644 --- a/storage/test_sql_discovery/test_sql_discovery.cc +++ b/storage/test_sql_discovery/test_sql_discovery.cc @@ -93,8 +93,6 @@ public: int open(const char *name, int mode, uint test_if_locked); int close(void); - void start_operations_batch() {} - void end_operations_batch() {} }; TSD_share *ha_tsd::get_share() |