Alterações na distribuição 4.0.6 (14 Dec 2002: Gamma)
Functionality added or changed:
- Added syntax support for
CHARACTER SET xxxandCHARSET=xxxtable 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
mantoman/man1in the binary distributions. - The default type returned by
IFNULL(A,B)is now set to be the more 'general' of the types ofAandB. (The order isSTRING,REALorINTEGER). - Moved the
mysql.serverstartup script in the RPM packages from/etc/rc.d/init.d/mysqlto/etc/init.d/mysql(which almost all current Linux distributions support for LSB compliance). - Added
Qcache_lowmem_prunesstatus variable (number of queries that were deleted from cache because of low memory). - Fixed
mysqlcheckso 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
LOCALTIMEandLOCALTIMESTAMPas synonyms forNOW(). CEILis now an alias forCEILING.- The
CURRENT_USER()function can be used to get auser@hostvalue as it was matched in theGRANTsystem. Leia "Funções Diversas". - Fixed
CHECKconstraints to be compatible with SQL-99. This madeCHECKa reserved word. (Checking ofCHECKconstraints is still not implemented). - Added
CAST(... as CHAR). - Added PostgreSQL compatible
LIMITsyntax:SELECT ... LIMIT row_count OFFSET offset mysql_change_user()will now reset the connection to the state of a fresh connect (Ie,ROLLBACKany active transaction, close all temporary tables, reset all user variables etc..)CHANGE MASTERandRESET SLAVEnow 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-namesdefault on Mac OS X as the default file system (HFS+) is case insensitive. Leia "Caso Sensitivo nos Nomes". - Transactions in
AUTOCOMMIT=0mode didn't rotate binary log. - A fix for the bug in a
SELECTwith joined tables withORDER BYandLIMITclause when filesort had to be used. In that caseLIMITwas 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
libmysqlclientlibrary that allowed a maliciousMariaDBserver 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
--chrootcommand-line option ofmysqldfrom working. - Fixed bug in phrase operator
'...'in boolean full-text search. - Fixed bug that caused
OPTIMIZE TABLEto corrupt the table under some rare circumstances. - Part rewrite of multi-table-update to optimise it, make it safer and more bug free.
LOCK TABLESnow works together with multi-table-update and multi-table-delete.--replicate-do=xxxdidn't work forUPDATEcommands. (Bug introduced in 4.0.0)- Fixed shutdown problem on Mac OS X.
- Major
InnoDBbugs inREPLACE, AUTO_INCREMENT, INSERT INTO ... SELECT ...were fixed. See theInnoDBchangelog in theInnoDBsection of the manual. RESET SLAVEcaused a crash if the slave threads were running.