Alterações na distribuição 4.0.13 (16 May 2003)
Funcionalidades adicionadas ou alteradas:
PRIMARY KEYagora implicaNOT NULL. (Bug#390)- O pacote de binários do Windows agora está compilado com
--enable-local-infileencontrar a configuraçào de construção do Unix. - Removida a medida do tempo de
mysql-test-run.timenão aceita todos os parâmetros exigidos em muitas aplicações (por exemplo, QNX) e a medida de tempo não é reamente necessária (isto não é um benchmark). SHOW MASTER STATUSeSHOW SLAVE STATUSexigem o privilégioSUPER; agora eles aceitamREPLICATION CLIENT. (Bug#343)- Adicionada otimização de reparação do MyISAM em multi-threads e a variável
myisam_repair_threadspara habilitá-lo. Leia "SHOW VARIABLES". - Adicionada a variável
innodb_max_dirty_pages_pctque controla a quantidade de páginassujas
permitidas na área de buffer doInnoDB. - As mensagens de erro
CURRENT_USER()eAccess deniedagora relatam o nome de máquina exatamente como ele está especificado no comandoGRANT. - Removido os resultados de benchmark das distribuições fonte e binárias. Eles ainda estão disponíveis na árvore fonte do BK.
- Tabelas
InnoDBagora suportamANALYZE TABLE. - O MariaDB agora envia um erro quando ele abre uma tabela que foi criada com o MariaDB 4.1.
- A opção
--newagora altera altera os itens binários (0xFFDF) para serem tratados como strings binárias em vez de números por padrão. Isto corrige alguns problemas com conjunto de caracteres onde é conveniente colocar a string como um item binário. Depois destas alterações você deve converter a string binária paraINTEGERcom umCASTse você quiser comparar dois itens binários, um com o outro, e saber qual é maior.SELECT CAST(0xfeff AS UNSIGNED) < CAST(0xff AS UNSIGNED). Este será o comportamento padrão no MariaDB 4.1. (Bug#152) - Habilitado
delayed_insert_timeoutno Linux (as bibliotecas glibc mais modernas tem umpthread_cond_timedwaitcorrigido). (Bug#211) - Não cria mais threads de insert delayed que o dado por
max_insert_delayed_threads. (Bug#211) - Alterado o
UPDATE ... LIMITpara aplicar o limite as linhas encontradas, independente de terem sido alteradas. Anteriormente o limite era aplicado como uma restrição no número de linhas alteradas. - Ajustado o otimizador para favorecer indíces em cluster em ver de busca na tabela.
BIT_AND()eBIT_OR()agora retornam um valor de 64 bits sem sinal.- Adicionado avisos ao log de erro do porquê de um falha em uma conexão segura (quando executando com
--log-warnings). - As opções
--skip-symlinke--use-symbolic-linksestão obsoletas e forma substituídas com--symbolic-links. - A opção padrão para
innodb_flush_log_at_trx_commitfoi alterada de 0 para 1 para tornar tabelasInnoDBcomo ACID por padrão. Leia "Opções de Inicialização do InnoDB". - Adicionado o recurso para
SHOW KEYSpara mostrar chaves que estão disabilitadas pelo comandoALTER TABLE DISABLE KEYS. - Ao usar um tipo de tabela não existente com
CREATE TABLE, primeiro vê se o tipo de tabela padrão existe antes de utilizarMyISAM. - Adicionado
MEMORYcomo um alias paraHEAP. - Renomeada a função
rndparamy_rndjá que o nome era muito genérico e é um símbolo exportado nolibmysqlclient(obrigado a Dennis Haney pelo patch inicial). - Correção de portabilidade: renomeado
include/dbug.hparainclude/my_debug.h. mysqldumpnão deleta mais o log binário sem aviso quando chamado com--master-dataou--first-slave; enquanto este comportamento era conveniente para alguns usuários, outros podia sofrer com ele. Agora deve perguntar explicitamente pela sua deleção com a nova opção--delete-master-logs.- Se o slave é configurado (usando, por exemplo,
replicate-wild-ignore-table=mysql.%) para ecluirmysql.user,mysql.host,mysql.db,mysql.tables_privemysql.columns_privda replicação, entãoGRANTeREVOKEnão serão replicados.
Bugs corrigidos:
- A mensagem de erro
Access deniedao logar tinha um valorUsing passwordincorreto. (Bug#398) - Corrigido um bug com
NATURAL LEFT JOIN,NATURAL RIGHT JOINeRIGHT JOINquando usadas muitas tabelas em joins. O problema era que o métodoJOINnão era sempre associoado com as tabelas envolvida no métodoJOIN. Se você tiver uma consulta que usa muitosRIGHT JOINouNATURAL ... JOINSvocê deve verificar se eles funcionam como você espera depois de atualizar o MariaDB para esta versõa. (Bug#291) - O cliente de linha de comando
MariaDBnão olha mais os comnados\*dentro de stringd com aspas invertidas. - Corrigido
Unknown errorao usarUPDATE ... LIMIT. (Bug#373) - Corrigido o problema com o modo ANSI e
GROUP BYcom constantes. (Bug#387) - Corrigido o erro com
UNIONeOUTER JOIN. (Bug#386) - Corrigido o erro se é usado um
UPDATEmulti-tabelas e a consulta exige um tabela temporária maior quetmp_table_size. (Bug#286) - Executa
mysql_install_dbcom a opção-IN-RPMpara a instalação do Mac OS X não falhar em sistemas com a configuração de nome de máquina feita de forma inapropriada. LOAD DATA INFILEagora irá ler000000como uma data zerada em vez de'2000-00-00'.- Corrigido um erro que fazia que
DELETE FROM table WHERE const_expressionsempre deletasse toda a tabela (mesmo se o resultado da expressão fosse falso). (Bug#355) - Corrigido um bug de core dump ao usar
FORMAT('nan',#). (Bug#284) - Corrigido um erro na resolução do nome com
HAVING ... COUNT(DISTINCT ...). - Corrigido resultados incorretos da operação de truncamento (
*) emMATCH ... AGAINST()em alguns joins complexos. - Fixed a crash in
REPAIR ... USE_FRMcommand, when used on read-only, nonexisting table or a table with a crashed index file. - Fixed a crashing bug in mysql monitor program. It occurred if program was started with
--no-defaults, with a prompt that contained hostname and connection to non-existing db was requested - Fixed problem when comparing a key for a multi-byte-character set. (Bug#152)
- Fixed bug in
LEFT,RIGHTandMIDwhen used with multi-byte character sets and someGROUP BYqueries. (Bug#314) - Fix problem with
ORDER BYbeing discarded for someDISTINCTqueries. (Bug#275) - Fixed that
SET SQL_BIG_SELECTS=1works as documented (This corrects a new bug introduced in 4.0) - Fixed some serious bugs in
UPDATE ... ORDER BY. (Bug#241) - Fixed unlikely problem in optimising
WHEREclause with constant expression like inWHERE 1 AND (a=1 AND b=1). - Fixed that
SET SQL_BIG_SELECTS=1works again. - Introduced proper backtick quoting for db.table in
SHOW GRANTS. FULLTEXTindex stopped working afterALTER TABLEthat convertsTEXTcolumn toCHAR. (Bug#283)- Fixed a security problem with
SELECTand wildcarded select list, when user only had partial columnSELECTprivileges on the table. - Mark a MyISAM table as 'analyzed' only when all the keys are indeed analyzed.
- Only ignore world-writeable
my.cnffiles that are regular files (and not, for example, named pipes or character devices). - Fixed few smaller issues with
SET PASSWORD. - Fixed error message which contained deprecated text.
- Fixed a bug with two
NATURAL JOINs in the query. SUM()didn't returnNULLwhen there was no rows in result or when all values wasNULL.- On Unix symbolic links handling was not enabled by default and there was no way to turn this on.
- Added missing dashes to parameter
--open-files-limitinmysqld_safe. (Bug#264) - Fixed incorrect hostname for TCP/IP connections displayed in
SHOW PROCESSLIST. - Fixed a bug with
NANinFORMAT(...)function ... - Fixed a bug with improperly cached database privileges.
- Fixed a bug in
ALTER TABLE ENABLE / DISABLE KEYSwhich failed to force a refresh of table data in the cache. - Fixed bugs in replication of
LOAD DATA INFILEfor custom parameters (ENCLOSED,TERMINATEDand so on) and temporary tables. (Bug#183, Bug#222) - Fixed a replication bug when the master is 3.23 and the slave 4.0: the slave lost the replicated temporary tables if
FLUSH LOGSwas issued on the master. (Bug#254) - Fixed a bug when doing
LOAD DATA INFILE IGNORE: When reading the binary log,mysqlbinlogand the replication code readREPLACEinstead ofIGNORE. This could make the slave's table become different from the master's table. (Bug#218) - Fixed a deadlock when
relay_log_space_limitwas set to a too small value. (Bug#79) - Fixed a bug in HAVING clause when an alias is used from the select list.
- Fixed overflow bug in
MyISAMwhen a row is inserted into a table with a large number of columns and at least oneBLOB/TEXTcolumn. Bug was caused by incorrect calculation of the needed buffer to pack data. - Fixed a bug when
SELECT@nonexistent_variable caused the error in client - server protocol due to net_printf() being sent to the client twice. - Fixed a bug in setting
SQL_BIG_SELECTSoption. - Fixed a bug in
SHOW PROCESSLISTwhich only displayed a localhost in the'Host'column. This was caused by a glitch that only used current thread information instead of information from the linked list of threads. - Removed unnecessary Mac OS X helper files from server RPM. (Bug#144)
- Allow optimization of multiple-table update for
InnoDBtables as well. - Fixed a bug in multiple-table updates that caused some rows to be updated several times.
- Fixed a bug in
mysqldumpwhen it was called with--master-data: theCHANGE MASTER TOcommands appended to the SQL dump had incorrect coordinates. (Bug#159) - Fixed a bug when an updating query using
USER()was replicated on the slave; this caused segfault on the slave. (Bug#178).USER()is still badly replicated on the slave (it is replicated to'').