Commit b337a068 authored by Vicențiu Ciorbaru's avatar Vicențiu Ciorbaru

Revert d9bc5e03d788b958ce8c76e157239953db60adb2 from Oracle (in XtraDB)

parent dab6f560
...@@ -1991,11 +1991,9 @@ ib_cursor_read_row( ...@@ -1991,11 +1991,9 @@ ib_cursor_read_row(
rec = btr_pcur_get_rec(pcur); rec = btr_pcur_get_rec(pcur);
if (!rec_get_deleted_flag(rec, page_format)) { if (prebuilt->innodb_api_rec &&
if (prebuilt->innodb_api && prebuilt->innodb_api_rec != rec) {
prebuilt->innodb_api_rec != NULL) { rec = prebuilt->innodb_api_rec;
rec =prebuilt->innodb_api_rec;
}
} }
if (!rec_get_deleted_flag(rec, page_format)) { if (!rec_get_deleted_flag(rec, page_format)) {
...@@ -2032,9 +2030,6 @@ ib_cursor_position( ...@@ -2032,9 +2030,6 @@ ib_cursor_position(
buf = static_cast<unsigned char*>(mem_alloc(UNIV_PAGE_SIZE)); 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() /* We want to position at one of the ends, row_search_for_mysql()
uses the search_tuple fields to work out what to do. */ uses the search_tuple fields to work out what to do. */
...@@ -2090,9 +2085,6 @@ ib_cursor_next( ...@@ -2090,9 +2085,6 @@ ib_cursor_next(
row_prebuilt_t* prebuilt = cursor->prebuilt; row_prebuilt_t* prebuilt = cursor->prebuilt;
byte buf[UNIV_PAGE_SIZE_MAX]; byte buf[UNIV_PAGE_SIZE_MAX];
if (prebuilt->innodb_api) {
prebuilt->cursor_heap = cursor->heap;
}
/* We want to move to the next record */ /* We want to move to the next record */
dtuple_set_n_fields(prebuilt->search_tuple, 0); dtuple_set_n_fields(prebuilt->search_tuple, 0);
...@@ -2145,9 +2137,6 @@ ib_cursor_moveto( ...@@ -2145,9 +2137,6 @@ ib_cursor_moveto(
buf = static_cast<unsigned char*>(mem_alloc(UNIV_PAGE_SIZE)); 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( err = static_cast<ib_err_t>(row_search_for_mysql(
buf, ib_srch_mode, prebuilt, cursor->match_mode, 0)); buf, ib_srch_mode, prebuilt, cursor->match_mode, 0));
......
...@@ -735,8 +735,6 @@ struct row_prebuilt_t { ...@@ -735,8 +735,6 @@ struct row_prebuilt_t {
mem_heap_t* heap; /*!< memory heap from which mem_heap_t* heap; /*!< memory heap from which
these auxiliary structures are these auxiliary structures are
allocated when needed */ 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 ins_node_t* ins_node; /*!< Innobase SQL insert node
used to perform inserts used to perform inserts
to the table */ to the table */
...@@ -887,9 +885,6 @@ struct row_prebuilt_t { ...@@ -887,9 +885,6 @@ struct row_prebuilt_t {
unsigned innodb_api:1; /*!< whether this is a InnoDB API unsigned innodb_api:1; /*!< whether this is a InnoDB API
query */ query */
const rec_t* innodb_api_rec; /*!< InnoDB API search result */ 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 byte* srch_key_val1; /*!< buffer used in converting
search key values from MySQL format search key values from MySQL format
to InnoDB format.*/ to InnoDB format.*/
......
...@@ -2786,7 +2786,6 @@ row_sel_store_mysql_field_func( ...@@ -2786,7 +2786,6 @@ row_sel_store_mysql_field_func(
{ {
const byte* data; const byte* data;
ulint len; ulint len;
ulint clust_field_no;
ut_ad(prebuilt->default_rec); ut_ad(prebuilt->default_rec);
ut_ad(templ); ut_ad(templ);
...@@ -5097,19 +5096,8 @@ row_search_for_mysql( ...@@ -5097,19 +5096,8 @@ row_search_for_mysql(
btr_pcur_store_position(pcur, &mtr); btr_pcur_store_position(pcur, &mtr);
if (prebuilt->innodb_api if (prebuilt->innodb_api) {
&& (btr_pcur_get_rec(pcur) != result_rec)) { prebuilt->innodb_api_rec = 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);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment