Table of Contents
- 23.1 Additional Resources
- 23.2 Overview
- 23.3 Creating Storage Engine Source Files
- 23.4 Adding Engine Specific Variables and Parameters
- 23.5 Creating the handlerton
- 23.6 Handling Handler Instantiation
- 23.7 Defining Filename Extensions
- 23.8 Creating Tables
- 23.9 Opening a Table
- 23.10 Implementing Basic Table Scanning
- 23.11 Closing a Table
- 23.12 Adding Support for INSERT to a Storage Engine
- 23.13 Adding Support for UPDATE to a Storage Engine
- 23.14 Adding Support for DELETE to a Storage Engine
- 23.15 Supporting Non-Sequential Reads
- 23.16 Supporting Indexing
- 23.16.1 Indexing Overview
- 23.16.2 Getting Index Information During CREATE TABLE Operations
- 23.16.3 Creating Index Keys
- 23.16.4 Parsing Key Information
- 23.16.5 Providing Index Information to the Optimizer
- 23.16.6 Preparing for Index Use with index_init()
- 23.16.7 Cleaning up with index_end()
- 23.16.8 Implementing the index_read() Method
- 23.16.9 Implementing the index_read_idx() Method
- 23.16.10 Implementing the index_read_last() Method
- 23.16.11 Implementing the index_next() Method
- 23.16.12 Implementing the index_prev() Method
- 23.16.13 Implementing the index_first() Method
- 23.16.14 Implementing the index_last() Method
- 23.17 Supporting Transactions
- 23.18 API Reference
- 23.18.1 bas_ext
- 23.18.2 close
- 23.18.3 create
- 23.18.4 delete_row
- 23.18.5 delete_table
- 23.18.6 external_lock
- 23.18.7 extra
- 23.18.8 index_end
- 23.18.9 index_first
- 23.18.10 index_init
- 23.18.11 index_last
- 23.18.12 index_next
- 23.18.13 index_prev
- 23.18.14 index_read
- 23.18.15 index_read_idx
- 23.18.16 index_read_last
- 23.18.17 info
- 23.18.18 open
- 23.18.19 position
- 23.18.20 records_in_range
- 23.18.21 rnd_init
- 23.18.22 rnd_next
- 23.18.23 rnd_pos
- 23.18.24 start_stmt
- 23.18.25 store_lock
- 23.18.26 update_row
- 23.18.27 write_row
- 23.19 FAQ
With MySQL 5.1, MySQL AB has introduced a pluggable storage engine architecture that makes it possible to create new storage engines and add them to a running MySQL server without recompiling the server itself.
This architecture makes it easier to develop new storage engines for MySQL and deploy them.
This chapter is intended as a guide to assist you in developing a storage engine for the new pluggable storage engine architecture.