diff options
author | unknown <tsmith/tim@siva.hindu.god> | 2006-09-20 13:00:49 -0600 |
---|---|---|
committer | unknown <tsmith/tim@siva.hindu.god> | 2006-09-20 13:00:49 -0600 |
commit | 9b762ae343a4c82009d71439dbf7655ed0035750 (patch) | |
tree | 4d728bff0bdd01ed37a0494e1298215029dea453 /sql/ha_innodb.cc | |
parent | 3bbe813a1429ea1d7df628ebd0337bf40f94bc2a (diff) | |
download | mariadb-git-9b762ae343a4c82009d71439dbf7655ed0035750.tar.gz |
Applied innodb snapshot ss792 and ss854.
This ChangeSet will be null-merged to mysql-5.1.
Bugs fixed:
- Bug #21638: InnoDB: possible segfault in page_copy_rec_list_end_no_locks
If prefix_len is specified, write it to the insert buffer instead of type->len
- bug #10746: InnoDB: Error: stored_select_lock_type is 0 inside ::start_stmt()!
INSERT ... SELECT uses LOCK_NONE in innodb_locks_unsafe_for_binlog mode, so do
not check for LOCK_X or LOCK_S in start_stmt()
innobase/ibuf/ibuf0ibuf.c:
Applied innodb snapshot ss792 and ss854.
ibuf_entry_build(): Write prefix_len to the insert buffer instead of type->len
when prefix_len is specified. Otherwise, btr_page_reorganize() during
insert buffer merge would fail on ROW_FORMAT=COMPACT tables. (Bug #21638)
innobase/include/data0type.h:
Applied innodb snapshot ss792 and ss854.
ibuf_entry_build(): Write prefix_len to the insert buffer instead of type->len
when prefix_len is specified. Otherwise, btr_page_reorganize() during
insert buffer merge would fail on ROW_FORMAT=COMPACT tables. (Bug #21638)
innobase/include/data0type.ic:
Applied innodb snapshot ss792 and ss854.
ibuf_entry_build(): Write prefix_len to the insert buffer instead of type->len
when prefix_len is specified. Otherwise, btr_page_reorganize() during
insert buffer merge would fail on ROW_FORMAT=COMPACT tables. (Bug #21638)
sql/ha_innodb.cc:
Applied innodb snapshot ss792 and ss854.
ha_innobase::start_stmt(): Remove the check for
prebuilt->stored_select_lock_type being LOCK_X or LOCK_S.
This would cause false alarms with INSERT ... SELECT, which would use
LOCK_NONE in innodb_locks_unsafe_for_binlog mode. (Bug #10746)
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r-- | sql/ha_innodb.cc | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index c56be6376d0..ddf2fbf26aa 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -5969,19 +5969,6 @@ ha_innobase::start_stmt( prebuilt->select_lock_type = prebuilt->stored_select_lock_type; } - - if (prebuilt->stored_select_lock_type != LOCK_S - && prebuilt->stored_select_lock_type != LOCK_X) { - sql_print_error("stored_select_lock_type is %lu inside " - "::start_stmt()!", - prebuilt->stored_select_lock_type); - - /* Set the value to LOCK_X: this is just fault - tolerance, we do not know what the correct value - should be! */ - - prebuilt->select_lock_type = LOCK_X; - } } trx->detailed_error[0] = '\0'; |