mirror of
https://github.com/MariaDB/server.git
synced 2026-04-17 13:55:32 +02:00
Revert d9bc5e03d788b958ce8c76e157239953db60adb2 from Oracle (in XtraDB)
This commit is contained in:
parent
dab6f56098
commit
b337a06829
3 changed files with 5 additions and 33 deletions
|
|
@ -1991,11 +1991,9 @@ ib_cursor_read_row(
|
|||
|
||||
rec = btr_pcur_get_rec(pcur);
|
||||
|
||||
if (!rec_get_deleted_flag(rec, page_format)) {
|
||||
if (prebuilt->innodb_api &&
|
||||
prebuilt->innodb_api_rec != NULL) {
|
||||
rec =prebuilt->innodb_api_rec;
|
||||
}
|
||||
if (prebuilt->innodb_api_rec &&
|
||||
prebuilt->innodb_api_rec != rec) {
|
||||
rec = prebuilt->innodb_api_rec;
|
||||
}
|
||||
|
||||
if (!rec_get_deleted_flag(rec, page_format)) {
|
||||
|
|
@ -2032,9 +2030,6 @@ ib_cursor_position(
|
|||
|
||||
buf = static_cast<unsigned char*>(mem_alloc(UNIV_PAGE_SIZE));
|
||||
|
||||
if (prebuilt->innodb_api) {
|
||||
prebuilt->cursor_heap = cursor->heap;
|
||||
}
|
||||
|
||||
/* We want to position at one of the ends, row_search_for_mysql()
|
||||
uses the search_tuple fields to work out what to do. */
|
||||
|
|
@ -2090,9 +2085,6 @@ ib_cursor_next(
|
|||
row_prebuilt_t* prebuilt = cursor->prebuilt;
|
||||
byte buf[UNIV_PAGE_SIZE_MAX];
|
||||
|
||||
if (prebuilt->innodb_api) {
|
||||
prebuilt->cursor_heap = cursor->heap;
|
||||
}
|
||||
/* We want to move to the next record */
|
||||
dtuple_set_n_fields(prebuilt->search_tuple, 0);
|
||||
|
||||
|
|
@ -2145,9 +2137,6 @@ ib_cursor_moveto(
|
|||
|
||||
buf = static_cast<unsigned char*>(mem_alloc(UNIV_PAGE_SIZE));
|
||||
|
||||
if (prebuilt->innodb_api) {
|
||||
prebuilt->cursor_heap = cursor->heap;
|
||||
}
|
||||
err = static_cast<ib_err_t>(row_search_for_mysql(
|
||||
buf, ib_srch_mode, prebuilt, cursor->match_mode, 0));
|
||||
|
||||
|
|
|
|||
|
|
@ -735,8 +735,6 @@ struct row_prebuilt_t {
|
|||
mem_heap_t* heap; /*!< memory heap from which
|
||||
these auxiliary structures are
|
||||
allocated when needed */
|
||||
mem_heap_t* cursor_heap; /*!< memory heap from which
|
||||
innodb_api_buf is allocated per session*/
|
||||
ins_node_t* ins_node; /*!< Innobase SQL insert node
|
||||
used to perform inserts
|
||||
to the table */
|
||||
|
|
@ -887,9 +885,6 @@ struct row_prebuilt_t {
|
|||
unsigned innodb_api:1; /*!< whether this is a InnoDB API
|
||||
query */
|
||||
const rec_t* innodb_api_rec; /*!< InnoDB API search result */
|
||||
void* innodb_api_buf; /*!< Buffer holding copy of the physical
|
||||
Innodb API search record */
|
||||
ulint innodb_api_rec_size; /*!< Size of the Innodb API record */
|
||||
byte* srch_key_val1; /*!< buffer used in converting
|
||||
search key values from MySQL format
|
||||
to InnoDB format.*/
|
||||
|
|
|
|||
|
|
@ -2786,7 +2786,6 @@ row_sel_store_mysql_field_func(
|
|||
{
|
||||
const byte* data;
|
||||
ulint len;
|
||||
ulint clust_field_no;
|
||||
|
||||
ut_ad(prebuilt->default_rec);
|
||||
ut_ad(templ);
|
||||
|
|
@ -5097,19 +5096,8 @@ idx_cond_failed:
|
|||
|
||||
btr_pcur_store_position(pcur, &mtr);
|
||||
|
||||
if (prebuilt->innodb_api
|
||||
&& (btr_pcur_get_rec(pcur) != result_rec)) {
|
||||
ulint rec_size = rec_offs_size(offsets);
|
||||
if (!prebuilt->innodb_api_rec_size ||
|
||||
(prebuilt->innodb_api_rec_size < rec_size)) {
|
||||
prebuilt->innodb_api_buf =
|
||||
static_cast<byte*>
|
||||
(mem_heap_alloc(prebuilt->cursor_heap,rec_size));
|
||||
prebuilt->innodb_api_rec_size = rec_size;
|
||||
}
|
||||
prebuilt->innodb_api_rec =
|
||||
rec_copy(
|
||||
prebuilt->innodb_api_buf, result_rec, offsets);
|
||||
if (prebuilt->innodb_api) {
|
||||
prebuilt->innodb_api_rec = result_rec;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue