mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Merge mysql-5.1-innodb from bk-internal into my local repo
This commit is contained in:
commit
ce782ee2c2
51 changed files with 2086 additions and 992 deletions
|
|
@ -1781,7 +1781,7 @@ ulint
|
|||
row_ins_duplicate_error_in_clust(
|
||||
/*=============================*/
|
||||
btr_cur_t* cursor, /*!< in: B-tree cursor */
|
||||
dtuple_t* entry, /*!< in: entry to insert */
|
||||
const dtuple_t* entry, /*!< in: entry to insert */
|
||||
que_thr_t* thr, /*!< in: query thread */
|
||||
mtr_t* mtr) /*!< in: mtr */
|
||||
{
|
||||
|
|
@ -1977,7 +1977,7 @@ row_ins_index_entry_low(
|
|||
depending on whether we wish optimistic or
|
||||
pessimistic descent down the index tree */
|
||||
dict_index_t* index, /*!< in: index */
|
||||
dtuple_t* entry, /*!< in: index entry to insert */
|
||||
dtuple_t* entry, /*!< in/out: index entry to insert */
|
||||
ulint n_ext, /*!< in: number of externally stored columns */
|
||||
que_thr_t* thr) /*!< in: query thread */
|
||||
{
|
||||
|
|
@ -2158,9 +2158,10 @@ ulint
|
|||
row_ins_index_entry(
|
||||
/*================*/
|
||||
dict_index_t* index, /*!< in: index */
|
||||
dtuple_t* entry, /*!< in: index entry to insert */
|
||||
dtuple_t* entry, /*!< in/out: index entry to insert */
|
||||
ulint n_ext, /*!< in: number of externally stored columns */
|
||||
ibool foreign,/*!< in: TRUE=check foreign key constraints */
|
||||
ibool foreign,/*!< in: TRUE=check foreign key constraints
|
||||
(foreign=FALSE only during CREATE INDEX) */
|
||||
que_thr_t* thr) /*!< in: query thread */
|
||||
{
|
||||
ulint err;
|
||||
|
|
|
|||
|
|
@ -1594,6 +1594,9 @@ row_update_cascade_for_mysql(
|
|||
|
||||
trx = thr_get_trx(thr);
|
||||
|
||||
/* Increment fk_cascade_depth to record the recursive call depth on
|
||||
a single update/delete that affects multiple tables chained
|
||||
together with foreign key relations. */
|
||||
thr->fk_cascade_depth++;
|
||||
|
||||
if (thr->fk_cascade_depth > FK_MAX_CASCADE_DEL) {
|
||||
|
|
@ -1605,6 +1608,12 @@ run_again:
|
|||
|
||||
row_upd_step(thr);
|
||||
|
||||
/* The recursive call for cascading update/delete happens
|
||||
in above row_upd_step(), reset the counter once we come
|
||||
out of the recursive call, so it does not accumulate for
|
||||
different row deletes */
|
||||
thr->fk_cascade_depth = 0;
|
||||
|
||||
err = trx->error_state;
|
||||
|
||||
/* Note that the cascade node is a subnode of another InnoDB
|
||||
|
|
|
|||
|
|
@ -371,8 +371,8 @@ UNIV_INTERN
|
|||
void
|
||||
row_upd_index_entry_sys_field(
|
||||
/*==========================*/
|
||||
const dtuple_t* entry, /*!< in: index entry, where the memory buffers
|
||||
for sys fields are already allocated:
|
||||
dtuple_t* entry, /*!< in/out: index entry, where the memory
|
||||
buffers for sys fields are already allocated:
|
||||
the function just copies the new values to
|
||||
them */
|
||||
dict_index_t* index, /*!< in: clustered index */
|
||||
|
|
@ -1587,12 +1587,12 @@ static
|
|||
ulint
|
||||
row_upd_clust_rec_by_insert(
|
||||
/*========================*/
|
||||
upd_node_t* node, /*!< in: row update node */
|
||||
upd_node_t* node, /*!< in/out: row update node */
|
||||
dict_index_t* index, /*!< in: clustered index of the record */
|
||||
que_thr_t* thr, /*!< in: query thread */
|
||||
ibool check_ref,/*!< in: TRUE if index may be referenced in
|
||||
a foreign key constraint */
|
||||
mtr_t* mtr) /*!< in: mtr; gets committed here */
|
||||
mtr_t* mtr) /*!< in/out: mtr; gets committed here */
|
||||
{
|
||||
mem_heap_t* heap = NULL;
|
||||
btr_pcur_t* pcur;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue