From e666b8651ad55a73fbe926c5447740833e80e13e Mon Sep 17 00:00:00 2001 From: Federico Razzoli Date: Mon, 14 Aug 2023 20:56:27 +0100 Subject: [PATCH] EXAMPLE storage engine: update comments --- storage/example/ha_example.cc | 16 ++++++---------- storage/example/ha_example.h | 30 +++++++++++++++--------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/storage/example/ha_example.cc b/storage/example/ha_example.cc index c66c33a7818..fbad065760f 100644 --- a/storage/example/ha_example.cc +++ b/storage/example/ha_example.cc @@ -38,7 +38,7 @@ build by doing the following during your build process:
./configure --with-example-storage-engine - Once this is done, MySQL will let you create tables with:
+ Once this is done, MariaDB will let you create tables with:
CREATE TABLE (...) ENGINE=EXAMPLE; The example storage engine is set up to use table locks. It @@ -51,9 +51,9 @@ of this file. @note - When you create an EXAMPLE table, the MySQL Server creates a table .frm + When you create an EXAMPLE table, the MariaDB Server creates a table .frm (format) file in the database directory, using the table name as the file - name as is customary with MySQL. No other files are created. To get an idea + name as is customary with MariaDB. No other files are created. To get an idea of what occurs, here is an example select that would do a scan of an entire table: @@ -86,10 +86,6 @@ ha_example::open() would also have been necessary. Calls to ha_example::extra() are hints as to what will be occuring to the request. - A Longer Example can be found called the "Skeleton Engine" which can be - found on TangentOrg. It has both an engine and a full build environment - for building a pluggable storage engine. - Happy coding!
-Brian */ @@ -771,7 +767,7 @@ int ha_example::external_lock(THD *thd, int lock_type) Before adding the lock into the table lock handler (see thr_lock.c), mysqld calls store lock with the requested locks. Store lock can now modify a write lock to a read lock (or some other lock), ignore the - lock (if we don't want to use MySQL table locks at all), or add locks + lock (if we don't want to use MariaDB table locks at all), or add locks for many tables (like we do when we are using a MERGE handler). Berkeley DB, for example, changes all WRITE locks to TL_WRITE_ALLOW_WRITE @@ -781,7 +777,7 @@ int ha_example::external_lock(THD *thd, int lock_type) When releasing locks, store_lock() is also called. In this case one usually doesn't have to do anything. - In some exceptional cases MySQL may send a request for a TL_IGNORE; + In some exceptional cases MariaDB may send a request for a TL_IGNORE; This means that we are requesting the same lock as last time and this should also be ignored. (This may happen when someone does a flush table when we have opened a part of the tables, in which case mysqld @@ -1084,7 +1080,7 @@ static int show_func_example(MYSQL_THD thd, struct st_mysql_show_var *var, var->value= buf; // it's of SHOW_VAR_FUNC_BUFF_SIZE bytes my_snprintf(buf, SHOW_VAR_FUNC_BUFF_SIZE, "enum_var is %lu, ulong_var is %lu, int_var is %d, " - "double_var is %f, %.6b", // %b is a MySQL extension + "double_var is %f, %.6b", // %b is a MariaDB/MySQL extension srv_enum_var, srv_ulong_var, THDVAR(thd, int_var), srv_double_var, "really"); return 0; diff --git a/storage/example/ha_example.h b/storage/example/ha_example.h index 78b07ed5d9f..1797031fc1f 100644 --- a/storage/example/ha_example.h +++ b/storage/example/ha_example.h @@ -62,7 +62,7 @@ public: */ class ha_example: public handler { - THR_LOCK_DATA lock; ///< MySQL lock + THR_LOCK_DATA lock; ///< MariaDB lock Example_share *share; ///< Shared lock info Example_share *get_share(); ///< Get the share @@ -97,7 +97,7 @@ public: @details part is the key part to check. First key part is 0. - If all_parts is set, MySQL wants to know the flags for the combined + If all_parts is set, MariaDB wants to know the flags for the combined index, up to and including 'part'. */ ulong index_flags(uint inx, uint part, bool all_parts) const @@ -109,7 +109,7 @@ public: unireg.cc will call max_supported_record_length(), max_supported_keys(), max_supported_key_parts(), uint max_supported_key_length() to make sure that the storage engine can handle the data it is about to - send. Return *real* limits of your storage engine here; MySQL will do + send. Return *real* limits of your storage engine here; MariaDB will do min(your_limits, MySQL_limits) automatically. */ uint max_supported_record_length() const { return HA_MAX_REC_LENGTH; } @@ -117,7 +117,7 @@ public: /** @brief unireg.cc will call this to make sure that the storage engine can handle the data it is about to send. Return *real* limits of your storage engine - here; MySQL will do min(your_limits, MySQL_limits) automatically. + here; MariaDB will do min(your_limits, MySQL_limits) automatically. @details There is no need to implement ..._key_... methods if your engine doesn't @@ -128,7 +128,7 @@ public: /** @brief unireg.cc will call this to make sure that the storage engine can handle the data it is about to send. Return *real* limits of your storage engine - here; MySQL will do min(your_limits, MySQL_limits) automatically. + here; MariaDB will do min(your_limits, MySQL_limits) automatically. @details There is no need to implement ..._key_... methods if your engine doesn't @@ -139,7 +139,7 @@ public: /** @brief unireg.cc will call this to make sure that the storage engine can handle the data it is about to send. Return *real* limits of your storage engine - here; MySQL will do min(your_limits, MySQL_limits) automatically. + here; MariaDB will do min(your_limits, MySQL_limits) automatically. @details There is no need to implement ..._key_... methods if your engine doesn't @@ -187,7 +187,7 @@ public: Everything below are methods that we implement in ha_example.cc. Most of these methods are not obligatory, skip them and - MySQL will treat them as not implemented + MariaDB will treat them as not implemented */ /** @brief We implement this in ha_example.cc; it's a required method. @@ -201,50 +201,50 @@ public: /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int write_row(const uchar *buf); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int update_row(const uchar *old_data, const uchar *new_data); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int delete_row(const uchar *buf); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int index_read_map(uchar *buf, const uchar *key, key_part_map keypart_map, enum ha_rkey_function find_flag); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int index_next(uchar *buf); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int index_prev(uchar *buf); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int index_first(uchar *buf); /** @brief We implement this in ha_example.cc. It's not an obligatory method; - skip it and and MySQL will treat it as not implemented. + skip it and and MariaDB will treat it as not implemented. */ int index_last(uchar *buf);