Search Results
https://dev.mysql.com/doc/internals/en/implementing-index-next-method.html
The [custom-engine.html#custom-engine-api-reference-index_next index_next()] method is used for index scanning: int ha_foo::index_next(byte * buf) The *buf parameter is populated with the row that corresponds to the next matching key value ...
https://dev.mysql.com/doc/internals/en/implementing-index-prev-method.html
The [custom-engine.html#custom-engine-api-reference-index_prev index_prev()] method is used for reverse index scanning: int ha_foo::index_prev(byte * buf) The *buf parameter is populated with the row that corresponds to the previous matching key ...
https://dev.mysql.com/doc/internals/en/implementing-index-read-last-method.html
The [custom-engine.html#custom-engine-api-reference-index_read_last index_read_last()] method works like [custom-engine.html#custom-engine-index-read index_read()] but finds the last row with the current key value or prefix: int ...
https://dev.mysql.com/doc/internals/en/implementing-index-read-method.html
The [custom-engine.html#custom-engine-api-reference-index_read index_read()] method is used to retrieve a row based on a key: int ha_foo::index_read(byte * buf, const byte * key, ulonglong keypart_map, enum ha_rkey_function find_flag) The *buf ...
https://dev.mysql.com/doc/internals/en/implementing-position-method.html
The [custom-engine.html#custom-engine-api-reference-position position()] method is called after every call to rnd_next() if the data needs to be reordered: void ha_foo::position(const byte *record) It stores a "position" of a record in this->ref.
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-rnd-next-method.html
As with the index_read() method, the storage engine must return the row that matches the key according to the find_flag and set a cursor for future reads.
https://dev.mysql.com/doc/internals/en/in-memory-record-layout.html
null bits: One bit per column that can be NULL. The "null bits" are rounded up to the next byte boundary. Length (pack_length) and layout of the fields depend on the field type: -- to be added -- Note: The "in-memory record layout" is used by the ...
https://dev.mysql.com/doc/internals/en/innodb-infimum-and-supremum-records.html
“Infimum” and “Supremum” are mathematical terms that refer to the outer bounds of an ordered set. An infimum is Greatest Lower Bound (GLB), so it is lower than the lowest possible key value. A supremum is the Least Upper Bound (LUB), so it ...
https://dev.mysql.com/doc/internals/en/innodb-more-information.html
References: The most relevant InnoDB source-code files are rem0rec.c, rem0rec.ic, and rem0rec.h in the rem ("Record Manager") directory.