mariadb/mysql-test/r
dlenev@mockturtle.local ab98cbc88a Fix for bug#20390 "SELECT FOR UPDATE does not release locks
of untouched rows in full table scans".

SELECT ... FOR UPDATE/LOCK IN SHARE MODE statements as well as
UPDATE/DELETE statements which were executed using full table
scan were not releasing locks on rows which didn't satisfy
WHERE condition.
This bug surfaced in 5.0 and affected NDB tables. (InnoDB tables
intentionally don't support such unlocking in default mode).

This problem occured because code implementing join didn't call
handler::unlock_row() for rows which didn't satisfy part of condition
attached to this particular table/level of nested loop. So we solve
the problem adding this call.
Note that we already had this call in place in 4.1 but it was lost
(actually not quite correctly placed) when we have introduced nested 
joins.

Also note that additional QA should be requested once this patch is
pushed as interaction between handler::unlock_row() and many recent
MySQL features such as subqueries, unions, views is not tested enough.
2007-01-15 12:32:38 +03:00
..
alias.result
alter_table.result
analyse.result
analyze.result
ansi.result
archive.result
archive_gis.result
auto_increment.result
backup.result
bdb-alter-table-1.result
bdb-alter-table-2.result
bdb-crash.result
bdb-deadlock.result
bdb.result
bdb_cache.result
bdb_gis.result
bench_count_distinct.result
big_test.require
bigint.result
binary.result
binlog.result
blackhole.result
bool.result
bulk_replace.result
case.result
case_sensitive_file_system.require
cast.result
check.result
check_var_limit.require
client_xml.result
comments.result
compare.result
compress.result
connect.result
consistent_snapshot.result
constraints.result
count_distinct.result
count_distinct2.result
count_distinct3.result
create.result
create_not_windows.result
create_select_tmp.result
csv.result
ctype_big5.result
ctype_collate.result
ctype_cp932.result
ctype_cp932_binlog.result
ctype_cp932_notembedded.result
ctype_cp1250_ch.result Remove compiler warnings 2006-11-20 22:42:06 +02:00
ctype_cp1251.result
ctype_create.result
ctype_eucjpms.result
ctype_euckr.result
ctype_gb2312.result
ctype_gbk.result
ctype_latin1.result
ctype_latin1_de.result
ctype_latin2.result
ctype_latin2_ch.result
ctype_many.result
ctype_mb.result
ctype_recoding.result
ctype_sjis.result
ctype_tis620.result
ctype_uca.result
ctype_ucs.result
ctype_ucs2_def.result
ctype_ucs_binlog.result
ctype_ujis.result
ctype_utf8.result Bug#21505 Create view - illegal mix of collation for operation 'UNION' 2006-11-09 14:41:34 +04:00
date_formats.result
default.result
delayed.result
delete.result
derived.result
dirty_close.result
distinct.result
drop.result
drop_temp_table.result
empty_table.result
endspace.result
errors.result
exampledb.result
execution_constants.result
explain.result
federated.result
federated_archive.result
federated_bug_13118.result
flush.result
flush_block_commit.result
flush_read_lock_kill.result
flush_table.result
foreign_key.result
fulltext.result
fulltext2.result
fulltext_cache.result
fulltext_distinct.result
fulltext_left_join.result
fulltext_multi.result
fulltext_order_by.result
fulltext_update.result
fulltext_var.result
func_compress.result
func_concat.result
func_crypt.result
func_date_add.result
func_default.result
func_des_encrypt.result
func_encrypt.result
func_encrypt_nossl.result
func_equal.result
func_gconcat.result Merge mysql.com:/usr/home/bar/mysql-4.1.b23451v2 2006-11-08 17:03:37 +04:00
func_group.result
func_if.result
func_in.result Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug17047 2006-11-16 13:25:55 +03:00
func_isnull.result
func_like.result
func_math.result
func_misc.result
func_op.result
func_regexp.result
func_sapdb.result
func_set.result
func_str.result Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0 2006-11-16 14:19:37 +03:00
func_system.result
func_test.result Merge fix. 2006-11-06 23:02:40 -05:00
func_time.result Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1 2006-11-10 15:05:38 +03:00
func_timestamp.result
gcc296.result
gis-rtree.result bug #19491 (5.0-related additional fixes) 2006-11-06 22:33:18 +04:00
gis.result
grant.result
grant2.result
grant3.result
grant_cache.result
greedy_optimizer.result
group_by.result
group_min_max.result
handler.result
have_archive.require
have_bdb.require
have_big5.require
have_blackhole.require
have_compress.require
have_cp932.require
have_cp1250_ch.require
have_crypt.require
have_csv.require
have_debug.require
have_eucjpms.require
have_euckr.require
have_exampledb.require
have_federated_db.require
have_gb2312.require
have_gbk.require
have_geometry.require
have_innodb.require
have_latin2_ch.require
have_met_timezone.require
have_moscow_leap_timezone.require
have_ndb.require
have_ndb_status_ok.require
have_openssl.require
have_outfile.require
have_perror.require
have_query_cache.require
have_raid.require
have_sjis.require
have_symlink.require
have_tis620.require
have_ucs2.require
have_udf.require
have_udf_example.require
have_ujis.require
having.result
heap.result
heap_auto_increment.result
heap_btree.result
heap_hash.result
help.result
im_daemon_life_cycle.result Fix for BUG##24415: Instance manager test im_daemon_life_cycle 2006-11-23 22:55:36 +03:00
im_life_cycle.result Fix for BUG##24415: Instance manager test im_daemon_life_cycle 2006-11-23 22:55:36 +03:00
im_options_set.result
im_options_unset.result
im_utils.result
index_merge.result
index_merge_bdb.result
index_merge_innodb.result
index_merge_innodb2.result
index_merge_ror.result
index_merge_ror_cpk.result
information_schema.result Bug#22413 EXPLAIN SELECT FROM view with ORDER BY yield server crash 2006-11-21 13:45:01 +04:00
information_schema_chmod.result
information_schema_db.result
information_schema_inno.result
init_connect.result
init_file.result
innodb-big.result
innodb-deadlock.result
innodb-lock.result
innodb-replace.result
innodb.result
innodb_cache.result
innodb_gis.result
innodb_handler.result
innodb_mysql.result
innodb_notembedded.result
innodb_unsafe_binlog.result
insert.result
insert_select-binlog.result
insert_select.result
insert_update.result
is_debug_build.require
isam.result
join.result
join_crash.result
join_nested.result
join_outer.result
key.result
key_cache.result
key_diff.result
key_primary.result
keywords.result
kill.result
limit.result
loaddata.result
loaddata_autocom_innodb.result
loaddata_autocom_ndb.result
lock.result
lock_multi.result
lock_tables_lost_commit.result
lowercase0.require
lowercase2.require
lowercase_fs_off.result
lowercase_table.result
lowercase_table2.result
lowercase_table3.result
lowercase_table_grant.result
lowercase_table_qcache.result
lowercase_view.result
merge.result
metadata.result Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs 2006-11-09 16:55:42 +02:00
mix_innodb_myisam_binlog.result
multi_statement.result
multi_update.result
myisam-blob.result
myisam.result
mysql.result
mysql_client_test.result
mysql_protocols.result
mysqlbinlog.result
mysqlbinlog2.result
mysqlcheck.result
mysqldump-max.result
mysqldump.result
mysqlshow.result
mysqltest.result
ndb_alter_table.result
ndb_alter_table2.result
ndb_autodiscover.result
ndb_autodiscover2.result
ndb_autodiscover3.result
ndb_basic.result
ndb_bitfield.result
ndb_blob.result
ndb_cache.result
ndb_cache2.result
ndb_cache_multi.result
ndb_cache_multi2.result
ndb_charset.result
ndb_condition_pushdown.result
ndb_config.result
ndb_database.result
ndb_default_cluster.require
ndb_gis.result
ndb_grant.result
ndb_index.result
ndb_index_ordered.result
ndb_index_unique.result
ndb_insert.result
ndb_limit.result
ndb_load.result
ndb_loaddatalocal.result
ndb_lock.result Fix for bug#20390 "SELECT FOR UPDATE does not release locks 2007-01-15 12:32:38 +03:00
ndb_minmax.result
ndb_multi.result
ndb_read_multi_range.result
ndb_rename.result
ndb_replace.result
ndb_restore.result
ndb_subquery.result
ndb_transaction.result
ndb_trigger.result
ndb_truncate.result
ndb_types.result
ndb_update.result
negation_elimination.result
not_as_root.require
not_embedded.require
not_embedded_server.result
not_openssl.require
null.result
null_key.result
odbc.result
olap.result
openssl_1.result Update result file after having changed error message 2006-11-07 17:42:15 +01:00
openssl_2.result
order_by.result merging 2006-11-17 12:02:36 +04:00
order_fill_sortbuf.result
outfile.result
overflow.result
packet.result
perror.result
preload.result
ps.result Fix after manual merge. 2006-11-21 16:57:23 +03:00
ps_1general.result
ps_2myisam.result
ps_3innodb.result
ps_4heap.result
ps_5merge.result
ps_6bdb.result
ps_7ndb.result
ps_10nestset.result
ps_11bugs.result
ps_grant.result
query_cache.result Merge bk@192.168.21.1:mysql-5.0-opt 2006-11-17 10:30:16 +04:00
query_cache_merge.result
query_cache_notembedded.result
raid.result
range.result
read_only.result
rename.result Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1 2006-11-10 15:05:38 +03:00
repair.result
replace.result
rollback.result
round.result
row.result
rowid_order_bdb.result
rowid_order_innodb.result
rpl000001.a.result
rpl000001.b.result
rpl000001.result
rpl000002.result
rpl000004.a.result
rpl000004.b.result
rpl000004.result
rpl000005.result
rpl000006.result
rpl000008.result
rpl000009.result
rpl000010.result
rpl000011.result
rpl000012.result
rpl000013.result
rpl000015.result
rpl000017.result
rpl_alter.result
rpl_auto_increment.result
rpl_auto_increment_11932.result
rpl_change_master.result
rpl_charset.result
rpl_commit_after_flush.result
rpl_create_database.result
rpl_ddl.result
rpl_deadlock.result
rpl_delete_all.result
rpl_do_grant.result
rpl_drop.result
rpl_drop_db.result
rpl_drop_temp.result
rpl_dual_pos_advance.result
rpl_EE_error.result
rpl_empty_master_crash.result
rpl_error_ignored_table.result
rpl_failed_optimize.result
rpl_flush_log_loop.result
rpl_flush_tables.result
rpl_free_items.result
rpl_get_lock.result
rpl_ignore_grant.result
rpl_ignore_revoke.result
rpl_ignore_table.result
rpl_init_slave.result
rpl_innodb.result
rpl_insert_id.result
rpl_insert_ignore.result
rpl_insert_select.result
rpl_loaddata.result
rpl_loaddata_rule_m.result
rpl_loaddata_rule_s.result
rpl_loaddatalocal.result
rpl_log.result
rpl_log_pos.result
rpl_many_optimize.result
rpl_master_pos_wait.result
rpl_max_relay_size.result
rpl_misc_functions.result
rpl_multi_delete.result
rpl_multi_delete2.result
rpl_multi_query.result
rpl_multi_update.result
rpl_multi_update2.result
rpl_multi_update3.result
rpl_multi_update4.result
rpl_mystery22.result
rpl_ndb_innodb_trans.result
rpl_openssl.result
rpl_optimize.result
rpl_packet.result bug#19402 SQL close to the size of the max_allowed_packet fails on the slave 2006-11-15 12:53:07 +02:00
rpl_ps.result
rpl_redirect.result
rpl_relayrotate.result
rpl_relayspace.result
rpl_replicate_do.result
rpl_reset_slave.result
rpl_rewrite_db.result
rpl_rotate_logs.result
rpl_server_id1.result
rpl_server_id2.result
rpl_session_var.result
rpl_set_charset.result
rpl_skip_error.result
rpl_slave_status.result
rpl_sp.result
rpl_sp_effects.result
rpl_sporadic_master.result
rpl_start_stop_slave.result
rpl_temporary.result
rpl_timezone.result
rpl_trigger.result Bug#23703 (DROP TRIGGER needs an IF EXISTS) 2006-11-13 15:40:22 -07:00
rpl_trunc_temp.result
rpl_until.result
rpl_user_variables.result
rpl_variables.result
rpl_view.result
schema.result
select.result
select_found.result
select_safe.result
server_id.require
server_id1.require
show_check.result
skip_grants.result
skip_name_resolve.result
slave-running.result
slave-stopped.result
sp-big.result
sp-code.result Bug#19194 (Right recursion in parser for CASE causes excessive stack usage, 2006-11-17 12:14:29 -07:00
sp-destruct.result
sp-dynamic.result
sp-error.result
sp-prelocking.result
sp-security.result
sp-threads.result
sp-vars.result
sp.result
sp_notembedded.result
sp_stress_case.result Bug#19194 (Right recursion in parser for CASE causes excessive stack usage, 2006-12-11 16:59:02 -07:00
sp_trans.result
sql_mode.result
ssl.result
ssl_compress.result
ssl_des.result
status.result
strict.result
strict_autoinc_1myisam.result
strict_autoinc_2innodb.result
strict_autoinc_3heap.result
strict_autoinc_4bdb.result
strict_autoinc_5ndb.result
subselect.result Merge bk@192.168.21.1:mysql-5.0-opt 2006-11-17 10:30:16 +04:00
subselect2.result
subselect3.result
subselect_gis.result
subselect_innodb.result
subselect_notembedded.result
sum_distinct-big.result
sum_distinct.result
symlink.result
synchronization.result
sysdate_is_now.result
system_mysql_db.result
system_mysql_db_refs.result
tablelock.result
temp_table.result
testdb_only.require
timezone.result
timezone2.result
timezone3.result
timezone4.result
timezone_grant.result
trigger-compat.result
trigger-grant.result
trigger-trans.result
trigger.result Bug#23703 (DROP TRIGGER needs an IF EXISTS) 2006-11-13 15:40:22 -07:00
true.require
truncate.result
type_binary.result
type_bit.result
type_bit_innodb.result
type_blob.result
type_date.result
type_datetime.result
type_decimal.result
type_enum.result
type_float.result
type_nchar.result
type_newdecimal-big.result
type_newdecimal.result Merge bk@192.168.21.1:mysql-5.0-opt 2006-11-17 10:30:16 +04:00
type_ranges.result
type_set.result
type_time.result
type_timestamp.result
type_uint.result
type_varchar.result
type_year.result
udf.result
union.result
update.result
user_limits.result
user_var-binlog.result
user_var.result
varbinary.result
variables.result
view.result
view_grant.result
view_query_cache.result
wait_timeout.result
warnings.result
windows.result
xa.result