This release was a bit delayed because it took us more than a week to
track down a bug in glibc on Linux. This bug is at least in glibc
2.1.1 but its extremely likely that this is also in all previous
versions of glibc/linuxthreads and probably not fixed in glibc 2.1.2.
Because of the above bug, we don't recommend anyone to use INSERT
DELAYED on Linux on an MySQL version older than 3.23.7.
Anyway, MySQL 3.23.7 now allows you to run one INSERT at the same time
as SELECT queries are running. This will increase performance a lot
for sites that uses MySQL to log things at the same time they do big
GROUP BY / DISTINCT queries on the same table. Allowing concurrent
inserts is now default. If you don't want this, you can start mysqld
with the --skip-new or --safe option.
MySQL 3.23.7 also fixes a lot of bugs that was introduced in 3.23.6.
Changes in release 3.23.7
* Fixed workaround under Linux to avoid problems with
pthread_mutex_timedwait, which is used with `INSERT DELAYED'.
* Fixed tha one will get at 'disk full' error message if one gets
disk full when doing sorting (instead of waiting until we got more
* Fixed a bug in `MyISAM' with keys > 250 characters.
* In `MyISAM' one can now do an `INSERT' at the same time as other
threads are reading from the table.
* Added variable `max_write_lock_count' to `mysqld' to force a
`READ' lock after a certain number of `WRITE' locks.
* Inverted flag `delayed_key_write' on `show variables'.
* Renamed variable `concurrency' to `thread_concurrency'.
* The following functions are now multi-byte-safe:
`LOCATE(substr,str)', `POSITION(substr IN str)',
`LOCATE(substr,str,pos)', `INSTR(str,substr)', `LEFT(str,len)',
`RIGHT(str,len)', `SUBSTRING(str,pos,len)', `SUBSTRING(str FROM
pos FOR len)', `MID(str,pos,len)', `SUBSTRING(str,pos)',
`SUBSTRING(str FROM pos)', `SUBSTRING_INDEX(str,delim,count)',
`RTRIM(str)', `TRIM([[BOTH | TRAILING] [remstr] FROM] str)',
`INSERT(str,pos,len,newstr)', `LCASE(str)', `LOWER(str)',
`UCASE(str)' and `UPPER(str)'; Patch by Wei He.
* Fix core dump when releasing a lock from a non existing table
* Remove locks on tables before starting to remove duplicates.
* Added option `FULL' to `SHOW PROCESSLIST'.
* Added option `--verbose' to `mysqladmin'.
* Fixed problem when automaticly converting HEAP to MyISAM.
* Fixed bug in HEAP tables when doing insert + delete + insert +
scan the table.
* Fixed bugs on Alpha with `REPLACE()' and `LOAD DATA INFILE'.
* Added `mysqld' variable `interactive_timeout'.
* Changed the argument to `mysql_data_seek()' from `ulong' to
As David and I will be away 9 days on the Bazaar convention in New
York, I may not be able to answer promptly of any bug reports for this
version so I will instead just wish you good luck :)
PS: For those that are using MySQL on Win32: I will really try to
also make 3.23.7 available on Win32 before I leave after a couple
of hours, but I can't guarantee that I can fix that...
|• MySQL 3.23.7 released||Michael Widenius||18 Dec|