Search Results
https://dev.mysql.com/doc/internals/en/implementing-rnd-next-method.html
After the table is initialized, the MySQL server will call the handler's [custom-engine.html#custom-engine-api-reference-rnd_next rnd_next()] method once for every row to be scanned until the server's search condition is satisfied or an end of file ...
https://dev.mysql.com/doc/internals/en/implementing-rnd-pos-method.html
The [custom-engine.html#custom-engine-api-reference-rnd_pos rnd_pos()] method behaves in a similar fashion to the rnd_next() method but takes an additional parameter: int ha_foo::rnd_pos(byte * buf, byte *pos) The *pos parameter contains ...
https://dev.mysql.com/doc/internals/en/implementing-rollback.html
Of the two major transactional operations, ROLLBACK is the more complicated to implement. All operations that occurred during the transaction must be reversed so that all rows are unchanged from before the transaction began. To support ROLLBACK, ...
https://dev.mysql.com/doc/internals/en/opening-a-table.html
Before any read or write operations are performed on a table, the MySQL server will call the [custom-engine.html#custom-engine-api-reference-open handler::open()] method to open the table data and index files (if they exist). int open(const char ...
https://dev.mysql.com/doc/internals/en/preparing-for-index-use.html
The [custom-engine.html#custom-engine-api-reference-index_init index_init()] method is called before an index is used to allow the storage engine to perform any necessary preparation or optimization: int ha_foo::index_init(uint keynr, bool sorted) ...
https://dev.mysql.com/doc/internals/en/starting-transaction-from-start-stmt-call.html
The first method call that can start a transaction is the [custom-engine.html#custom-engine-transactions-starting-start-stmt start_stmt()] method. It holds state relevant data for the current client, such as identity, network connection and other ...
https://dev.mysql.com/doc/internals/en/stored-programs.html
The content formerly located in this chapter is now maintained in the Stored Programs section of the MySQL Server Doxygen documentation, available at https://dev.mysql.com/doc/index-other.html.
https://dev.mysql.com/doc/internals/en/support-for-delete.html
For non-indexed storage engines the parameter can be ignored, but transactional storage engines may need to store the deleted data for rollback purposes. The following example is from the CSV storage engine: int ha_tina::delete_row(const byte * buf) ...
https://dev.mysql.com/doc/internals/en/support-for-update.html
Performing an update will depend on row format and storage implementation. Some storage engines will replace data in-place, while other implementations delete the existing row and append the new row at the end of the data file. Non-indexed storage ...
https://dev.mysql.com/doc/internals/en/write-row.html
Synopsis virtual int write_row ( buf); byte * buf ; Description This is the write_row method. No [custom-engine.html#custom-engine-api-reference-extra extra()] hint is given currently if a bulk load is happening. buf is a byte array of data with a ...