66#define page_cur_get_page(cur) page_align((cur)->rec)
67#define page_cur_get_block(cur) (cur)->block
68#define page_cur_get_page_zip(cur) buf_block_get_page_zip((cur)->block)
69#define page_cur_get_rec(cur) (cur)->rec
106#ifndef UNIV_HOTBACKUP
208 const ulint *offsets,
211#ifndef UNIV_HOTBACKUP
247 ulint *iup_matched_fields,
249 ulint *ilow_matched_fields,
307 const ulint *offsets);
The database buffer pool global types for the directory.
SQL data field and tuple.
mode
Definition: file_handle.h:61
static bool page_cur_is_after_last(const page_cur_t *cur)
Returns true if the cursor is after last user record.
static page_zip_des_t * page_cur_get_page_zip(page_cur_t *cur)
Gets pointer to the page frame where the cursor is positioned.
static rec_t * page_cur_tuple_insert(page_cur_t *cursor, const dtuple_t *tuple, dict_index_t *index, ulint **offsets, mem_heap_t **heap, mtr_t *mtr)
Inserts a record next to page cursor.
void page_cur_search_with_match_bytes(const buf_block_t *block, const dict_index_t *index, const dtuple_t *tuple, page_cur_mode_t mode, ulint *iup_matched_fields, ulint *iup_matched_bytes, ulint *ilow_matched_fields, ulint *ilow_matched_bytes, page_cur_t *cursor)
Search the right position for a page cursor.
Definition: page0cur.cc:614
rec_t * page_cur_insert_rec_low(rec_t *current_rec, dict_index_t *index, const rec_t *rec, ulint *offsets, mtr_t *mtr)
Inserts a record next to page cursor on an uncompressed page.
Definition: page0cur.cc:1225
rec_t * page_cur_direct_insert_rec_low(rec_t *current_rec, dict_index_t *index, const dtuple_t *tuple, mtr_t *mtr, ulint rec_size)
Inserts a record next to page cursor on an uncompressed page.
Definition: page0cur.cc:1415
static void page_cur_set_after_last(const buf_block_t *block, page_cur_t *cur)
Sets the cursor object to point after the last user record on the page.
static rec_t * page_cur_rec_insert(page_cur_t *cursor, const rec_t *rec, dict_index_t *index, ulint *offsets, mtr_t *mtr)
Inserts a record next to page cursor.
static void page_cur_move_to_prev(page_cur_t *cur)
Moves the cursor to the previous record on page.
static rec_t * page_cur_get_rec(page_cur_t *cur)
Gets the record where the cursor is positioned.
void page_cur_open_on_rnd_user_rec(buf_block_t *block, page_cur_t *cursor)
Positions a page cursor on a randomly chosen user record on a page.
Definition: page0cur.cc:834
static void page_cur_position(const rec_t *rec, const buf_block_t *block, page_cur_t *cur)
Positions the cursor on the given record.
void page_cur_delete_rec(page_cur_t *cursor, const dict_index_t *index, const ulint *offsets, mtr_t *mtr)
Deletes a record at the page cursor.
Definition: page0cur.cc:2303
const byte * page_parse_copy_rec_list_to_created_page(const byte *ptr, const byte *end_ptr, buf_block_t *block, dict_index_t *index, mtr_t *mtr)
Parses a log record of copying a record list end to a new created page.
Definition: page0cur.cc:2009
static void page_cur_set_before_first(const buf_block_t *block, page_cur_t *cur)
Sets the cursor object to point before the first user record on the page.
static buf_block_t * page_cur_get_block(page_cur_t *cur)
Gets pointer to the buffer block where the cursor is positioned.
void page_cur_search_with_match(const buf_block_t *block, const dict_index_t *index, const dtuple_t *tuple, page_cur_mode_t mode, ulint *iup_matched_fields, ulint *ilow_matched_fields, page_cur_t *cursor, rtr_info_t *rtr_info)
Searches the right position for a page cursor.
Definition: page0cur.cc:328
rec_t * page_cur_insert_rec_zip(page_cur_t *cursor, dict_index_t *index, const rec_t *rec, ulint *offsets, mtr_t *mtr)
Inserts a record next to page cursor on a compressed and uncompressed page.
Definition: page0cur.cc:1593
bool page_delete_rec(const dict_index_t *index, page_cur_t *pcur, const ulint *offsets)
Removes the record from a leaf page.
Definition: page0page.cc:2557
static void page_cur_move_to_next(page_cur_t *cur)
Moves the cursor to the next record on page.
const byte * page_cur_parse_insert_rec(bool is_short, const byte *ptr, const byte *end_ptr, buf_block_t *block, dict_index_t *index, mtr_t *mtr)
Parses a log record of a record insert on a page.
Definition: page0cur.cc:1051
static ulint page_cur_search(const buf_block_t *block, const dict_index_t *index, const dtuple_t *tuple, page_cur_mode_t mode, page_cur_t *cursor)
Search the right position for a page cursor.
void page_copy_rec_list_end_to_created_page(page_t *new_page, rec_t *rec, dict_index_t *index, mtr_t *mtr)
Copies records from page to a newly created page, from a given record onward, including that record.
Definition: page0cur.cc:2065
static bool page_cur_is_before_first(const page_cur_t *cur)
Returns true if the cursor is before first user record on page.
static page_t * page_cur_get_page(page_cur_t *cur)
Gets pointer to the page frame where the cursor is positioned.
const byte * page_cur_parse_delete_rec(const byte *ptr, const byte *end_ptr, buf_block_t *block, dict_index_t *index, mtr_t *mtr)
Parses log record of a record delete on a page.
Definition: page0cur.cc:2256
page_cur_mode_t
Definition: page0types.h:176
byte page_t
Type of the index page.
Definition: page0types.h:152
byte rec_t
Definition: rem0types.h:41
Record manager wrapper declaration.
The buffer control block structure.
Definition: buf0buf.h:1747
Data structure for an index.
Definition: dict0mem.h:1046
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:682
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
Index page cursor.
Definition: page0cur.h:311
const dict_index_t * index
Index the cursor is on.
Definition: page0cur.h:313
buf_block_t * block
Pointer to the current block containing rec.
Definition: page0cur.h:322
ulint * offsets
Current offsets of the record.
Definition: page0cur.h:319
rec_t * rec
pointer to a record on page
Definition: page0cur.h:316
Compressed page descriptor.
Definition: page0types.h:201
Vectors holding the matching internal pages/nodes and leaf records.
Definition: gis0type.h:109
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406