summaryrefslogtreecommitdiff
path: root/sql/ha_innodb.cc
diff options
context:
space:
mode:
authorunknown <tsmith/tim@siva.hindu.god>2006-09-20 13:00:49 -0600
committerunknown <tsmith/tim@siva.hindu.god>2006-09-20 13:00:49 -0600
commit9b762ae343a4c82009d71439dbf7655ed0035750 (patch)
tree4d728bff0bdd01ed37a0494e1298215029dea453 /sql/ha_innodb.cc
parent3bbe813a1429ea1d7df628ebd0337bf40f94bc2a (diff)
downloadmariadb-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.cc13
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';