Alterações na distribuição 4.0.6 (14 Dec 2002: Gamma)
Functionality added or changed:
- Added syntax support for
CHARACTER SET xxx
andCHARSET=xxx
table options (to be able to read table dumps from 4.1). - Fixed replication bug that caused the slave to loose its position in some cases when the replication log was rotated.
- Fixed that a slave will restart from the start of a transaction if it's killed in the middle of one.
- Moved the manual pages from
man
toman/man1
in the binary distributions. - The default type returned by
IFNULL(A,B)
is now set to be the more 'general' of the types ofA
andB
. (The order isSTRING
,REAL
orINTEGER
). - Moved the
mysql.server
startup script in the RPM packages from/etc/rc.d/init.d/mysql
to/etc/init.d/mysql
(which almost all current Linux distributions support for LSB compliance). - Added
Qcache_lowmem_prunes
status variable (number of queries that were deleted from cache because of low memory). - Fixed
mysqlcheck
so it can deal with table names containing dashes. - Bulk insert optimization (see "
SHOW VARIABLES
") is no longer used when inserting small (less than 100) number of rows. - Optimization added for queries like
SELECT ... FROM merge_table WHERE indexed_column=constant_expr
. - Added functions
LOCALTIME
andLOCALTIMESTAMP
as synonyms forNOW()
. CEIL
is now an alias forCEILING
.- The
CURRENT_USER()
function can be used to get auser@host
value as it was matched in theGRANT
system. Leia "Funções Diversas". - Fixed
CHECK
constraints to be compatible with SQL-99. This madeCHECK
a reserved word. (Checking ofCHECK
constraints is still not implemented). - Added
CAST(... as CHAR)
. - Added PostgreSQL compatible
LIMIT
syntax:SELECT ... LIMIT row_count OFFSET offset
mysql_change_user()
will now reset the connection to the state of a fresh connect (Ie,ROLLBACK
any active transaction, close all temporary tables, reset all user variables etc..)CHANGE MASTER
andRESET SLAVE
now require that slave threads be both already stopped; these commands will return an error if at least one of these two threads is running.
Bugs fixed:
- Fixed number of found rows returned in
multi table updates
- Make
--lower-case-table-names
default on Mac OS X as the default file system (HFS+) is case insensitive. Leia "Caso Sensitivo nos Nomes". - Transactions in
AUTOCOMMIT=0
mode didn't rotate binary log. - A fix for the bug in a
SELECT
with joined tables withORDER BY
andLIMIT
clause when filesort had to be used. In that caseLIMIT
was applied to filesort of one of the tables, although it could not be. This fix also solved problems withLEFT JOIN
. mysql_server_init()
now makes a copy of all arguments. This fixes a problem when using the embedded server in C# program.- Fixed buffer overrun in
libmysqlclient
library that allowed a maliciousMariaDB
server to crash the client application. - Fixed security-related bug in
mysql_change_user()
handling. All users are strongly recommended to upgrade to version 4.0.6. - Fixed bug that prevented
--chroot
command-line option ofmysqld
from working. - Fixed bug in phrase operator
'...'
in boolean full-text search. - Fixed bug that caused
OPTIMIZE TABLE
to corrupt the table under some rare circumstances. - Part rewrite of multi-table-update to optimise it, make it safer and more bug free.
LOCK TABLES
now works together with multi-table-update and multi-table-delete.--replicate-do=xxx
didn't work forUPDATE
commands. (Bug introduced in 4.0.0)- Fixed shutdown problem on Mac OS X.
- Major
InnoDB
bugs inREPLACE, AUTO_INCREMENT, INSERT INTO ... SELECT ...
were fixed. See theInnoDB
changelog in theInnoDB
section of the manual. RESET SLAVE
caused a crash if the slave threads were running.