Search Results
                    
                    
            https://dev.mysql.com/doc/internals/en/implementing-rnd-next-method.html
                                In a variable-length row, VARCHAR columns are coded as a one or two-byte length, followed by a string of characters. In ha_tina.cc, for example, the code in find_current_row() illustrates how the TABLE structure (pointed to by table) and a string ...
                                            
                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-the-info-method.html
                                 The optimizer requests an update of table information by calling the [custom-engine.html#custom-engine-api-reference-info handler::info()] method. The info() method does not have a return value, instead it is expected that the storage engine will ...
                                            
                https://dev.mysql.com/doc/internals/en/mysql-services-for-plugins.html
                                It complements the plugin API and has these characteristics: Services enable plugins to access code inside the server using ordinary function calls.  As of MySQL 5.5, plugins have access to server “services.” The services interface exposes ...
                                            
                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-external-lock-method.html
                                 MySQL calls [custom-engine.html#custom-engine-api-reference-external_lock handler::external_lock()] for every table it is going to use at the beginning of every statement. Thus, if a table is touched for the first time, it implicitly starts a ...
                                            
                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-insert.html
                                 Once you have read support in your storage engine, the next feature to implement is support for INSERT statements. With INSERT support in place, your storage engine can handle WORM (write once, read many) applications such as logging and archiving ...