Novos Recursos Planejados Para a Versão em um Futuro a Médio Prazo
Implementar função: get_changed_tables(timeout,table1,table2,...)
- Alterar leitura através de tabelas para usar mapeamento de memória quando possível. Atualmente somente tabelas compactadas usam mapeamento de memória.
- Tornar o código de timestamp automático melhor. Adicionar timestamps para o log de atualizações com
SET TIMESTAMP=#; - Usar mutex de leitura/escrita em alguns lugares para obter maior velocidade.
- Views simples (inicialmente em uma tabela, depois em qualquer expressão). Leia "Views".
- Fechar algumas tabelas automaticamente se uma tabela, tabela temporária ou arquivos temporários obtiverem o erro 23 (não pode abrir arquivos suficientes).
- Melhor propagação de constantes. Quando uma ocorrência de
nome_col=né encontrada em uma expressão, para algumas constantesn, substitua outras ocorrências denome_coldentro da expressão porn. Atualmente, isto é feito somente para alguns casos simples. - Alterar todas expressões const com expressões calculadas se possível.
- Chave otimizadora = expressão. No momento somente a chave = campo ou a chave = constante são otimizadas.
- Melhorar o código de algumas das funções de cópia
- Alterar
sql_yacc.yypara um analizador em linha para reduzir seu tamanho e obter melhores mensagems de erro (5 dias). - Alterar o analisador para usar somente uma regra para diferentes números de argumentos em uma função.
- Utilizar nomes de cálculo completos na parte de ordenação. (For ACCESS97)
MINUS,INTERSECTeFULL OUTER JOIN. (AtualmenteUNION[na 4.0] eLEFT OUTER JOINsão suportados).SQL_OPTION MAX_SELECT_TIME=#para colocar um limite de tempo em uma pesquisa.- Fazer o log de atualizações gravar em um banco de dados.
LIMITnegativo para recuperar dados do fim.- Alarmes em funções clientes de conexão, leitura e escrita.
- Por favor, perceba as alterações ao
mysqld_safe: de acordo com o FSSTND (que o Debian tenta seguir) arquivos PID dever ir em/var/run/<progname>.pide arquivos de log em/var/log. Seria ótimo se você puder colocar o diretório de dados na primeira declaração de 'pidfile' e 'log', para que a colocação destes arquivos possa ser alterada com uma simples instrução. - Permitir um cliente requisitar log.
- Adicionar uso de
zlib()aLOAD DATA INFILE, para permitir que as instruções leiam arquivos compactados comgzip. - Corrigir ordenação e agrupamento de colunas
BLOB(parcialmente resolvida agora). - Alterar para o uso de semáforos quando contar threads. Devemos primeiro implementar uma biblioteca de semáforos para a MIT-pthreads.
- Adicionar suporte pleno para
JOINcom parênteses. - Como uma alternativa para uma thread / conexão gerencie uma fila de threads para manipular as pesquisas.
- Permitir obter mais de um bloqueio com
GET_LOCK. Quando isto for feito, serão, também, tratados os possíveis deadlocks que essa alteração irá acarretar.
O tempo é fornecido de acordo com a quantidade de trabalho, e não tempo real.