Alterações na distribuição 4.0.16 (17 Out 2003)
Funcionalidades adicionadas ou alteradas:
- Write memory allocation information to error log when doing
mysqladmin debug. This only works on system that support themallinfo()call (like newer Linux systems). - Added the following new server variables to allow more precise memory allocation:
range_alloc_block_size,query_alloc_block_size,query_prealloc_size,transaction_alloc_block_size, andtransaction_prealloc_size. mysqlbinlognow reads option files. To make this work one must now specify--read-from-remote-serverwhen reading binary logs from a MariaDB server. (Note that using a remote server is deprecated and may disappear in futuremysqlbinlogversions).- Block
SIGPIPEsignals also for non-threaded programs. The blocking is moved frommysql_init()tomysql_server_init(), which is automatically called on the first call tomysql_init(). - Added
--libs_rand--includeoptions tomysql_config. - New
`>prompt forMariaDB. This prompt is similar to the'>and'>prompts, but indicates that an identifier quoted with backticks was begun on an earlier line and the closing backtick has not yet been seen. - Atualizado o
mysql_install_dbpara poder usar o endereço de IP da máquina local em vez do nome da máquina ao criar as tabelas de permissões iniciais deskip-name-resolvefoi especificado. Esta opção pode ser útil no FreeBSD para evitar problemas de segurança de threads com o resolver de bibliotecas do FreeBSD. (Obrigado a Jeremy Zawodny pelo patch) - A documentation change: Added a note that when backing up a slave, it is necessary also to back up the
master.infoandrelay-log.infofiles, as well as anySQL_LOAD-*files located in the directory specified by the--slave-load-tmpdiroption. All these files are needed when the slave resumes replication after you restore the slave's data.
Bugs corrigidos:
- Fixed a spurious error
ERROR 14: Can't change size of file (Errcode: 2)on Windows inDELETE FROM table_namewithout aWHEREclause orTRUNCATE TABLE table_name, whentable_nameis aMyISAMtable. (Bug#1397) - Fixed a bug that resulted in
thr_alarm queue is fullwarnings after increasing themax_connectionsvariable withSET GLOBAL. (Bug#1435) - Made
LOCK TABLESto work whenLock_tables_privis granted on the database level andSelect_privis granted on the table level. - Fixed crash of
FLUSH QUERY CACHEon queries that use same table several times (Bug#988). - Fixed core dump bug when setting an enum system variable (such as
SQL_WARNINGS) toNULL. - Extended the default timeout value for Windows clients from 30 seconds to 1 year. (The timeout that was added in MariaDB 4.0.15 was way too short). This fixes a bug that caused
ERROR 2013: Lost connection to MariaDB server during queryfor queries that lasted longer than 30 seconds, if the client didn't specify a limit withmysql_options(). Users of 4.0.15 on Windows should upgrade to avoid this problem. - More
out of memory
checking in range optimiser. - Fixed and documented a problem when setting and using a user variable within the same
SELECTstatement. (Bug#1194). - Fixed bug in overrun check for
BLOBvalues with compressed tables. This was a bug introduced in 4.0.14. It caused MariaDB to regard some correct tables containingBLOBvalues as corrupted. (Bug#770, Bug#1304, and maybe Bug#1295) SHOW GRANTSshowedUSAGEinstead of the real column-level privileges when no table-level privileges were given.- When copying a database from the master,
LOAD DATA FROM MASTERdropped the corresponding database on the slave, thus erroneously dropping tables that had no counterpart on the master and tables that may have been excluded from replication usingreplicate-*-tablerules. NowLOAD DATA FROM MASTERno longer drops the database. Instead, it drops only the tables that have a counterpart on the master and that match thereplicate-*-tablerules.replicate-*-dbrules can still be used to include or exclude a database as a whole fromLOAD DATA FROM MASTER. A database will also be included or excluded as a whole if there are some rules likereplicate-wild-do-table=db1.%orreplicate-wild-ignore-table=db1.%, as is already the case forCREATE DATABASEandDROP DATABASEin replication. (Bug#1248) - Fixed a bug where
mysqlbinlogcrashed with a segmentation fault when used with the-hor--hostoption. (Bug#1258) - Fixed a bug where
mysqlbinlogcrashed with a segmentation fault when used on a binary log containing only final events forLOAD DATA. (Bug#1340) - Fixed compilation problem when compiling with OpenSSL 0.9.7 with disabled old DES support (If
OPENSSL_DISABLE_OLD_DES_SUPPORToption was enabled). - Fixed a bug when two (or more) MariaDB servers were running on the same machine, and they were both slaves, and at least one of them was replicating some
LOAD DATA INFILEcommand from its master. The bug was that one slave MariaDB server sometimes deleted theSQL_LOAD-*files (used for replication ofLOAD DATA INFILEand located in theslave-load-tmpdirdirectory, which defaults totmpdir) belonging to the other slave MariaDB server of this machine, if these slaves had the sameslave-load-tmpdirdirectory. When that happened, the other slave could not replicateLOAD DATA INFILEand complained about not being able to open someSQL_LOAD-*file. (Bug#1357) - If
LOAD DATA INFILEfailed for a small file, the master forgot to write a marker (aDelete_fileevent) in its binary log, so the slave could not delete 2 files (SQL_LOAD-*.infoandSQL_LOAD-*.datafrom itstmpdir. (Bug#1391) - On Windows, the slave forgot to delete a
SQL_LOAD-*.infofile fromtmpdirafter successfully replicating aLOAD DATA INFILEcommand. (Bug#1392) - When a connection terminates, MariaDB writes
DROP TEMPORARY TABLEstatements to the binary log for all temporary tables which the connection had not explicitely dropped. MariaDB forgot to backquote the database and table names in the statement. (Bug#1345) - On some 64-bit machines (some HP-UX and Solaris machines), a slave installed with the 64-bit MariaDB binary could not connect to its master (it connected to itself instead). (Bug#1256, Bug#1381)
- Code was introduced in MariaDB 4.0.15 for the slave to detect that the master had died while writing a transaction to its binary log. This code reported an error in a legal situation: When the slave I/O thread was stopped while copying a transaction to the relay log, the slave SQL thread would later pretend that it found an unfinished transaction. (Bug#1475)