:: DEVELOPER ZONE
Funcionalidades adicionadas ou alteradas:
PRIMARY KEY agora implica NOT NULL. (Bug #390)
O pacote de binários do Windows agora está compilado com
--enable-local-infile encontrar a configuraçào de construção do Unix.
Removida a medida do tempo de mysql-test-run. time nã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 STATUS e SHOW SLAVE STATUS exigem o privilégio
SUPER; agora eles aceitam REPLICATION CLIENT. (Bug #343)
Adicionada otimização de reparação do MyISAM em multi-threads e a
variável myisam_repair_threads para habilitá-lo.
See Secção 4.6.8.4, “SHOW VARIABLES”.
Adicionada a variável innodb_max_dirty_pages_pct que controla a
quantidade de páginas ``sujas'' permitidas na área de buffer do InnoDB.
As mensagens de erro CURRENT_USER() e Access denied agora relatam
o nome de máquina exatamente como ele está especificado no comando GRANT.
Removido os resultados de benchmark das distribuições fonte e binárias. Eles ainda estão disponíveis na árvore fonte do BK.
Tabelas InnoDB agora suportam ANALYZE TABLE.
O MySQL agora envia um erro quando ele abre uma tabela que foi criada com o MySQL 4.1.
A opção --new agora 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 para INTEGER com um CAST se 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 MySQL 4.1. (Bug #152)
Habilitado delayed_insert_timeout no Linux (as bibliotecas glibc
mais modernas tem um pthread_cond_timedwait corrigido). (Bug #211)
Não cria mais threads de insert delayed que o dado por
max_insert_delayed_threads. (Bug #211)
Alterado o UPDATE ... LIMIT para 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() e BIT_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-symlink e --use-symbolic-links estão obsoletas
e forma substituídas com --symbolic-links.
A opção padrão para innodb_flush_log_at_trx_commit foi alterada de 0
para 1 para tornar tabelas InnoDB como ACID por padrão.
See Secção 7.5.3, “Opções de Inicialização do InnoDB”.
Adicionado o recurso para SHOW KEYS para mostrar chaves que estão disabilitadas
pelo comando ALTER 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 utilizar MyISAM.
Adicionado MEMORY como um alias para HEAP.
Renomeada a função rnd para my_rnd já que o nome era muito genérico
e é um símbolo exportado no libmysqlclient (obrigado a Dennis Haney
pelo patch inicial).
Correção de portabilidade: renomeado include/dbug.h para
include/my_debug.h.
mysqldump não deleta mais o log binário sem aviso quando chamado com
--master-data ou --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 ecluir mysql.user,
mysql.host, mysql.db, mysql.tables_priv e
mysql.columns_priv da replicação, então GRANT e REVOKE
não serão replicados.
Bugs corrigidos:
A mensagem de erro Access denied ao logar tinha um valor
Using password incorreto. (Bug #398)
Corrigido um bug com NATURAL LEFT JOIN, NATURAL RIGHT JOIN e
RIGHT JOIN quando usadas muitas tabelas em joins. O problema era que
o método JOIN não era sempre associoado com as tabelas envolvida no
método JOIN. Se você tiver uma consulta que usa muitos RIGHT JOIN ou NATURAL ... JOINS você deve verificar se eles funcionam
como você espera depois de atualizar o MySQL para esta versõa. (Bug #291)
O cliente de linha de comando mysql não olha mais os comnados \*
dentro de stringd com aspas invertidas.
Corrigido Unknown error ao usar UPDATE ... LIMIT. (Bug #373)
Corrigido o problema com o modo ANSI e GROUP BY com constantes. (Bug #387)
Corrigido o erro com UNION e OUTER JOIN. (Bug #386)
Corrigido o erro se é usado um UPDATE multi-tabelas e a consulta exige um
tabela temporária maior que tmp_table_size. (Bug #286)
Executa mysql_install_db com a opção -IN-RPM para 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 INFILE agora irá ler 000000 como uma data zerada em vez
de "2000-00-00".
Corrigido um erro que fazia que DELETE FROM table WHERE const_expression
sempre 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 (*) em
MATCH ... AGAINST() em alguns joins complexos.
Fixed a crash in REPAIR ... USE_FRM command, 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, RIGHT and MID when used with
multi-byte character sets and some GROUP BY queries. (Bug #314)
Fix problem with ORDER BY being discarded for some
DISTINCT queries. (Bug #275)
Fixed that SET SQL_BIG_SELECTS=1 works 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 WHERE clause with constant
expression like in WHERE 1 AND (a=1 AND b=1).
Fixed that SET SQL_BIG_SELECTS=1 works again.
Introduced proper backtick quoting for db.table in SHOW GRANTS.
FULLTEXT index stopped working after ALTER TABLE
that converts TEXT column to CHAR. (Bug #283)
Fixed a security problem with SELECT and wildcarded select list,
when user only had partial column SELECT privileges on the table.
Mark a MyISAM table as "analyzed" only when all the keys are indeed analyzed.
Only ignore world-writeable my.cnf files 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 return NULL when there was no rows in result
or when all values was NULL.
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-limit in
mysqld_safe. (Bug #264)
Fixed incorrect hostname for TCP/IP connections displayed in
SHOW PROCESSLIST.
Fixed a bug with NAN in FORMAT(...) function ...
Fixed a bug with improperly cached database privileges.
Fixed a bug in ALTER TABLE ENABLE / DISABLE KEYS which failed to
force a refresh of table data in the cache.
Fixed bugs in replication of LOAD DATA INFILE for custom parameters
(ENCLOSED, TERMINATED and 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 LOGS was
issued on the master. (Bug #254)
Fixed a bug when doing LOAD DATA INFILE IGNORE: When reading
the binary log, mysqlbinlog and the replication code read REPLACE
instead of IGNORE. This could make the slave's table
become different from the master's table. (Bug #218)
Fixed a deadlock when relay_log_space_limit was 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 MyISAM when a row is inserted into a table with a
large number of columns and at least one BLOB/TEXT column. 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_SELECTS option.
Fixed a bug in SHOW PROCESSLIST which 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 InnoDB tables as well.
Fixed a bug in multiple-table updates that caused some rows to be updated several times.
Fixed a bug in mysqldump when it was called with
--master-data: the CHANGE MASTER TO commands 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 "").
© 1995-2005 MySQL AB. All rights reserved.
