Commit graph

17 commits

Author SHA1 Message Date
unknown
b523c895c2 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg20390


mysql-test/t/ndb_lock.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/ndb_lock.result:
  Manual merge.
2007-01-15 12:40:07 +03:00
unknown
810fc001d9 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.


mysql-test/r/ndb_lock.result:
  Enabled back part of the test that covers bug #20390 "SELECT FOR
  UPDATE does not release locks of untouched rows in full table scans".
  Adjusted test in such way that it now covers both execution paths
  in which we unlock non-matching rows inspected during table scan.
mysql-test/t/ndb_lock.test:
  Enabled back part of the test that covers bug #20390 "SELECT FOR
  UPDATE does not release locks of untouched rows in full table scans".
  Adjusted test in such way that it now covers both execution paths
  in which we unlock non-matching rows inspected during table scan.
sql/sql_select.cc:
  evaluate_join_record() should call handler::unlock_row() for records
  which don't satisfy condition which was pushed-down to this table/level
  of nested loop.
  We just put back the thing that we already have in 4.1 and which was lost
  when we have introduced nested joins.
2007-01-15 12:32:38 +03:00
unknown
115eb7df2e Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_lock.result:
  Auto merged
mysql-test/t/ndb_lock.test:
  Auto merged
ndb/include/ndbapi/NdbTransaction.hpp:
  Merge
sql/ha_ndbcluster.cc:
  Merge
sql/ha_ndbcluster.h:
  Merge
2006-08-15 13:37:39 +02:00
unknown
87b7363c5c ndb_lock.test, ndb_lock.result:
bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ha_ndbcluster.h, ha_ndbcluster.cc, NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);


mysql-test/r/ndb_lock.result:
  bug #18184  SELECT ... FOR UPDATE does not work..: New test case
mysql-test/t/ndb_lock.test:
  bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ndb/include/ndbapi/NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.cc:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.h:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
2006-08-15 13:12:27 +02:00
unknown
2588f59809 bug #18184 SELECT ... FOR UPDATE does not work..: Updated result file 2006-08-09 16:12:24 +02:00
unknown
3f19b05bb0 Added order by 2006-06-12 15:36:12 +02:00
unknown
b10b25fbb5 Added order by 2006-06-12 15:35:47 +02:00
unknown
def8e0ce9c Added order by 2006-06-12 15:28:36 +02:00
unknown
7744640552 sql_delete.cc:
Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: locked lock_OPEN mutex to support TRUNCATE with re-create and cluster binlog
Many files:
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: adaption to MySQ Cluster replication
ndb_lock.result, ha_ndbcluster.cc:
  Fix for Bug #18184  SELECT ... FOR UPDATE does not work..: Adaption to 5.1 code
NdbDictionaryImpl.hpp:
  Fix of bad merge


storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Fix of bad merge
sql/ha_ndbcluster.cc:
  Fix for Bug #18184  SELECT ... FOR UPDATE does not work..: Adaption to 5.1 code
mysql-test/r/ndb_lock.result:
  Fix for Bug #18184  SELECT ... FOR UPDATE does not work..: Adaption to 5.1 code
sql/ha_ndbcluster_binlog.cc:
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: adaption to MySQ Cluster replication
mysql-test/r/rpl_ndb_basic.result:
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: adaption to MySQ Cluster replication
mysql-test/t/rpl_ndb_basic.test:
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: adaption to MySQ Cluster replication
sql/ha_ndbcluster_binlog.h:
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: adaption to MySQ Cluster replication
sql/sql_delete.cc:
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table: locked lock_OPEN mutex to support TRUNCATE with re-create and cluster binlog
2006-06-12 14:23:21 +02:00
unknown
55d554bd1d Fix for Bug #18184 SELECT ... FOR UPDATE does not work..: Skipped lock check for full table scan due to bug #20390 SELECT FOR UPDATE does not release locks of untouched rows in full table scans 2006-06-12 10:40:56 +02:00
unknown
a3f3696697 Added lock test on index scan 2006-06-12 09:28:27 +02:00
unknown
20e54ae6c5 Fix for Bug #18184 SELECT ... FOR UPDATE does not work..: implemented ha_ndblcuster::unlock_row() and explicitly lock all rows that are not being unlocked 2006-06-08 16:12:38 +02:00
unknown
108ea3e356 cleanup of ndb invalidate dictionary cache
fixed test case from previous commit


mysql-test/r/ndb_lock.result:
  fixed result file form previous commit
sql/ha_ndbcluster.cc:
  cleanup of ndb invalidate dictionary cache
sql/ha_ndbcluster.h:
  cleanup of ndb invalidate dictionary cache
2006-03-08 15:29:57 +01:00
unknown
88df3aaf16 Bug #17812 Previous lock table for write causes "stray" lock although table is recreated
- only set table share version to 0 (zero) on global invalidation
2006-03-08 14:45:09 +01:00
unknown
92dce374ae Bug#6020, any lock >= write_allow_write is a write lock
mysql-test/r/ndb_lock.result:
  Add testcases for table locks
mysql-test/t/ndb_lock.test:
  Add testcases for table locks
2004-10-13 10:08:18 +02:00
unknown
785a2eea8e Added ORDER BY to ensure same result on all setups/platforms 2004-07-29 13:32:50 +02:00
unknown
d8a914d431 ndb_lock.test, ndb_lock.result:
new file
2004-07-21 12:06:46 +02:00