Commit graph

29 commits

Author SHA1 Message Date
davi@moksha.local
efdd32ced3 Merge moksha.local:/Users/davi/mysql/push/mysql-5.0-runtime
into  moksha.local:/Users/davi/mysql/push/mysql-5.1-runtime
2007-10-09 09:48:49 -03:00
mats@kindahl-laptop.dnsalias.net
5dad55cd24 BUG#30992 (Wrong implementation of pthread_mutex_trylock()):
Adding support for correct handling of pthread_mutex_trylock() on Win32
systems as well as when using the safe mutexes.
2007-10-01 15:11:15 +02:00
gkodinov/kgeorge@magare.gmz
63d18a6057 Bug #28284: Test "mysqlslap" reports "out of memory"
When locking a "fast" mutex a static variable cpu_count 
was used as a flag to initialize itself on the first usage 
by calling sysconf() and setting non-zero value.
This is not thread and optimization safe on some 
platforms. That's why the global initialization needs 
to be done once in a designated function.
This will also speed up the usage (by a small bit) 
because it won't have to check if it's initialized on
every call.

Fixed by moving the fast mutexes initialization out of 
my_pthread_fastmutex_lock() to fastmutex_global_init()
and call it from my_init()
2007-08-24 18:06:44 +03:00
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
kent@kent-amd64.(none)
be15e3bc15 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1
2006-12-23 20:20:40 +01:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
msvensson@neptunus.(none)
2c2d404fd7 Merge neptunus.(none):/home/msvensson/mysql/bug16333/my50-bug16333
into  neptunus.(none):/home/msvensson/mysql/bug16333/my51-bug16333
2006-02-16 10:08:02 +01:00
msvensson@neptunus.(none)
52391f3e04 Bug#16333 Assertion failure in lock.cc in the sysbench test
- Set the value of mp->thread before mp->count to avoid race condition.
2006-02-14 11:34:46 +01:00
vtkachenko@melody.mysql.com
22c930c924 Fast mutexes implementation
(spin-loop inside pthread_mutex_lock).

thr_mutex.c:
  Added spinloop in mutex_lock
my_pthread.h:
  Added definition of my_pthread_fastmutex_t
configure.in:
  Added --with-fast-mutexes switch
2005-12-20 14:56:45 +01:00
monty@mysql.com
f5fdf3e87a Reviewing new pushed code
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  (Some old systems returns ETIME and it's safer to test for both values
   than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code
2005-10-12 00:58:22 +03:00
joerg@mysql.com
eaa79cb452 Step 2 of the switch to support configuration with NPTL:
Define a new CPP symbol that the target OS is Linux, and use it where only the OS matters and not the threads Library.
Until now, 'HAVE_LINUXTHREADS' was used to indicate "Target is Linux" in many places.
When we support configuration with NPTL but no Linuxthreads, this misuse must cease.
2005-04-20 20:38:57 +02:00
monty@mysql.com
309d691e65 Changed %lx -> 0x%lx (for easier comparison of debug files)
Cosmetic cleanups
Don't call 'delete_elements' on copy_funcs as this causes elements to be freed twice
2004-08-23 13:46:51 +03:00
monty@mysql.com
d08945498e Fixed memory leak with RAID tables
Fixed tests for RAID tables
Detect uninitialized mutexes on lock and destroy
2003-11-21 14:41:57 +02:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
greg@mysql.com
080b73ee18 Manual merge of Novell's changes for NetWare platform from 4.0, 4.1 patches 2003-03-28 14:24:32 -05:00
monty@mashka.mysql.fi
689578a099 Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
2003-01-28 08:38:28 +02:00
monty@hundin.mysql.fi
03b0179af9 Use our version of RWLOCKS on UNIXWARE 7
More DBUG info for replication
Better error messages from replication
Fixed bug in replication code when connecting to 'localhost' (time was not released properly)
Block ALARM signal on Linux for signal handler thread (Fixes problem with running mysqld with --debug)
Removed warning when setting an AUTO_INCREMENT field to NULL
2002-08-21 22:04:22 +03:00
sasha@mysql.sashanet.com
684f13ef4c Ugly merge! But I am not done yet - there are a number of things I need to fix
before I can push
2002-01-19 22:46:25 -07:00
sasha@mysql.sashanet.com
56129ce634 Here comes a nasty patch, although I am not ready to push it yet. I will
first pull, merge,test, and get it to work.

The main change is the new replication code - now we have two slave threads
SQL thread and I/O thread. I have also re-written a lot of the code to 
prepare for multi-master implementation. 

I also documented IO_CACHE quite extensively and to some extend, THD class.
2002-01-19 19:16:52 -07:00
monty@hundin.mysql.fi
4dbd9e061c Lots of portability fixes.
Fixed shutdown on HPUX.
Fixed bug in query cache.
2001-12-17 03:02:58 +02:00
monty@hundin.mysql.fi
b658662ae4 Update copyright
Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
2001-12-06 14:10:51 +02:00
monty@hundin.mysql.fi
7cadc6e711 Changed to use my_global.h
Fixed problem with LIKE with latin1_de
Added parsing support of UNSIGNED LONG LONG
2001-09-14 02:54:33 +03:00
monty@donna.mysql.fi
aa11573380 Added defines for fast mutex in glibc 2.2 (should be safe)
Fixed crash in SELECT DISTINCT SUM(...)
Fix return value of mysortncmp() for innobase
Fix join_crash bug
2001-03-24 20:15:14 +02:00
monty@donna.mysql.com
50486eeb80 Fixes for MyISAM and packed keys + AIX 2000-09-22 01:46:26 +03:00
monty@donna.mysql.com
df280335b0 Fix for SAFE_MUTEX + MERGE tables 2000-09-21 01:58:38 +03:00
monty@donna.mysql.com
830d308960 Fix for SAFE_MUTEX on windows 2000-09-20 19:37:07 +03:00
monty@donna.mysql.com
dc4525636c Small bug fixes + code for DELETE QUICK 2000-09-20 04:54:10 +03:00
monty@donna.mysql.com
f0952ce3e1 FLUSH TABLE table_list
Fixes for RENAME TABLE
Portability fixes
2000-08-22 00:18:32 +03:00
bk@work.mysql.com
f4c589ff6c Import changeset 2000-07-31 21:29:14 +02:00