Commit graph

21 commits

Author SHA1 Message Date
monty@mysql.com/narttu.mysql.fi
f0ae3ce9b9 Fixed compiler warnings
Fixed compile-pentium64 scripts
Fixed wrong estimate of update_with_key_prefix in sql-bench
Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
Fixed unsafe define of uint4korr()
Fixed that --extern works with mysql-test-run.pl
Small trivial cleanups
This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
Split handle_one_connection() into reusable sub functions.
Split create_new_thread() into reusable sub functions.
Added thread_scheduler; Preliminary interface code for future thread_handling code.

Use 'my_thread_id' for internal thread id's
Make thr_alarm_kill() to depend on thread_id instead of thread
Make thr_abort_locks_for_thread() depend on thread_id instead of thread
In store_globals(), set my_thread_var->id to be thd->thread_id.
Use my_thread_var->id as basis for my_thread_name()
The above changes makes the connection we have between THD and threads more soft.

Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
Fixed compiler warnings
Fixed core dumps when running with --debug
Removed setting of signal masks (was never used)
Made event code call pthread_exit() (portability fix)
Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
Removed one common 'not freed memory' warning from mysqltest
Fixed a couple of usage of not initialized warnings (unlikely cases)
Suppress compiler warnings from bdb and (for the moment) warnings from ndb
2007-02-23 13:13:55 +02:00
dlenev@mockturtle.local
c0f6023aa4 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg20390
2007-01-15 12:40:07 +03:00
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
mskold/marty@mysql.com/linux.site
66e8255491 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0
2006-08-15 13:37:39 +02:00
mskold/marty@mysql.com/linux.site
6a3143e2a0 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);
2006-08-15 13:12:27 +02:00
mskold/marty@linux.site
c3da14f4c5 Merge mysql.com:/home/marty/MySQL/mysql-5.0
into  mysql.com:/home/marty/MySQL/mysql-5.1-ndb
2006-08-09 15:02:30 +02:00
mskold/marty@mysql.com/linux.site
9241fba4ae Merge mysql.com:/home/marty/MySQL/mysql-4.1
into  mysql.com:/home/marty/MySQL/mysql-5.0
2006-08-08 14:42:05 +02:00
mskold/marty@mysql.com/linux.site
a922e328af bug #18184 SELECT ... FOR UPDATE does not work..: Added lockTuple call in close_scan 2006-08-08 12:22:23 +02:00
mskold@mysql.com
69d52db924 Added order by 2006-06-12 15:36:12 +02:00
mskold@mysql.com
47bb569979 Added order by 2006-06-12 15:35:47 +02:00
mskold@mysql.com
ae70201afb Added order by 2006-06-12 15:28:36 +02:00
mskold@mysql.com
be60898441 Merge mysql.com:/home/marty/MySQL/mysql-5.0
into  mysql.com:/home/marty/MySQL/mysql-5.1
2006-06-12 11:34:00 +02:00
mskold@mysql.com
d17c3d3c7c 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
mskold@mysql.com
b89f17912c Added lock test on index scan 2006-06-12 09:28:27 +02:00
mskold@mysql.com
597e1444aa 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
tomas@poseidon.ndb.mysql.com
ed1f9a3402 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
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
mskold@mysql.com
dbd035818b Disabled ndb tests for embedded 2005-04-19 17:23:49 +02:00
joreland@mysql.com
29c270c13e Bug#6020, any lock >= write_allow_write is a write lock 2004-10-13 10:08:18 +02:00
mskold@mysql.com
24f9a2e9bb Added ORDER BY to ensure same result on all setups/platforms 2004-07-29 13:32:50 +02:00
mskold@mysql.com
42df1f0686 ndb_lock.test, ndb_lock.result:
new file
2004-07-21 12:06:46 +02:00