diff options
author | unknown <marko@hundin.mysql.fi> | 2005-01-25 14:44:34 +0200 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-01-25 14:44:34 +0200 |
commit | 2ecd83a37bc79c89ab7939c70d2c3b8246399dd0 (patch) | |
tree | 03d9d5309ca1415729d59b38dff0ea1b71d2c095 /innobase/row | |
parent | 65a0093dc9b5beed0cbc0e62a9a9fa867fa36e50 (diff) | |
parent | b9ae83d5b874dfef98984fc9dca437b657dffa41 (diff) | |
download | mariadb-git-2ecd83a37bc79c89ab7939c70d2c3b8246399dd0.tar.gz |
After merge fixes
innobase/include/univ.i:
Auto merged
innobase/row/row0ins.c:
After merge fixes of Jan Lindström's patch to 4.1
Diffstat (limited to 'innobase/row')
-rw-r--r-- | innobase/row/row0ins.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c index 4650db7abad..f1f1f45821a 100644 --- a/innobase/row/row0ins.c +++ b/innobase/row/row0ins.c @@ -1120,7 +1120,6 @@ row_ins_check_foreign_constraint( dict_table_t* check_table; dict_index_t* check_index; ulint n_fields_cmp; - ibool unique_search; rec_t* rec; btr_pcur_t pcur; ibool moved; @@ -1240,14 +1239,6 @@ run_again: dtuple_set_n_fields_cmp(entry, foreign->n_fields); - if (dict_index_get_n_unique(check_index) <= foreign->n_fields) { - /* We can just set a LOCK_REC_NOT_GAP type lock */ - - unique_search = TRUE; - } else { - unique_search = FALSE; - } - btr_pcur_open(check_index, entry, PAGE_CUR_GE, BTR_SEARCH_LEAF, &pcur, &mtr); @@ -1289,17 +1280,13 @@ run_again: break; } } else { - /* Found a matching record */ - ulint lock_type; + /* Found a matching record. Lock only + a record because we can allow inserts + into gaps */ - if (unique_search) { - lock_type = LOCK_REC_NOT_GAP; - } else { - lock_type = LOCK_ORDINARY; - } - - err = row_ins_set_shared_rec_lock(lock_type, - rec, check_index, offsets, thr); + err = row_ins_set_shared_rec_lock( + LOCK_REC_NOT_GAP, + rec, check_index, thr); if (err != DB_SUCCESS) { |