:: DEVELOPER ZONE
O InnoDB agora suporta ALTER TABLE DROP FOREIGN KEY. Você deve usar
SHOW CREATE TABLE para ver a ID de chaves estrangeiras geradas internamente
quando quiser apagar uma chave estrangeira.
SHOW INNODB STATUS agora esxibe informações detalhadas do último erro de
FOREIGN KEY e UNIQUE KEY detectados. Se você não entender porque o
InnoDB retorna o erro 150 de um CREATE TABLE, você pode utilizar
isto para estudar a razão.
ANALYZE TABLE agora também funciona para tabelas do tipo InnoDB.
Ela faz 10 inserções aleatórias para cada das árvores de índices e atualiza a
estimativa da cardinalidade do índice adequadamente. Note que como isto é apenas
uma estimativa, repetidas execuções de ANALYZE TABLE podem produzir diferentes
números. O MySQL usa a estimativa de cardinalidade do índice apenas an otimização
de joins. Se alguma join não é otimizada de modo apropriado, você pode tentar usar
ANALYZE TABLE.
A capacidade de commit de grupo do InnoDB agora também funciona quando
o log binário do MySQL está habilitado. Deve haver mais de 2 threads
cliente para commit de grupo estar ativo.
Alterado o valor padrão de innodb_flush_log_at_trx_commit de 0 para 1.
Se você não tiver especificado-o explicitamente em seu my.cnf, e sua
aplicação executar muito mais lentamente nesta nova distribuição é
porque o valor 1 faz com que seja descarregado um log para disco a
cada commit de transações.
Adicionado uma nova variável global configurável de sistema do MySQL
(innodb_max_dirty_pages_pct). Ela é um interio na faixa de 0 - 100.
O padrão é 90. A thread principal no InnoDB tenta descarregar as páginas
da área de buffer já que grande parte deste percetual ainda não foi
descarregado em nenhum momento.
Se innodb_force_recovery=6, não deixar o InnoDB fazer reparação
de páginas corrompidas baseadas no buffer de dupla escrita.
O InnoDB agora inica mais rápido porque ele não define a memória na área
de buffer para zero.
Corrigido um erro: a definição FOREIGN KEY do InnoDB era confudida com as
palavras chaves 'foreign key' dentro dos comentários do MySQL.
Corrigido um ero: se você apagasse um tablea para qual havia uma referência
de chave estrangeira, e posteriormente criasse a mesma tabela com tipo de
colunas não correspondentes, o InnoDB podia entrar em dict0load.c, na função
dict_load_table.
Corrigido um erro: GROUP BY e DISTINCT podia tratar valores NULL
como diferentes. O MySQL também falahva ao fazer o lock da próxima chave no caso de uma
faixa de índice vazia.
Corrigido um erro: não faz COMMIT da transação atual quando uma tabela
MyISAM é atualizada; isto também faz com que CREATE TABLE não faça commit
de uma transação InnoDB, mesmo quando o log binário estiver habilitado.
Corrigido um erro: não permite que ON DELETE SET NULL modifique a mesma
tabela onde o delete foi feito; podemos permití-lo porqeu into não pode
produzir loops infinitos em operações em cascata.
Corrigido um erro: permitir HANDLER PREV e NEXT também depois de
posicionar o cursor com uma busca única na chave primária
Corrigido um erro: se MIN() ou MAX() resultasse em um deadlock ou em
esgotamento do tempo de espera do lock, o MySQL não retornava um erro, mas
NULL como o valor da função.
Corrigido um erro: o InnoDB esquecia de chamar pthread_mutex_destroy()
quando uma tabela era apagada. Isto podia causar perda de memória no
FreeBSD e outros Unix, exceto o Linux.
© 1995-2005 MySQL AB. All rights reserved.
