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_col
dentro 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.yy
para 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
,INTERSECT
eFULL OUTER JOIN
. (AtualmenteUNION
[na 4.0] eLEFT OUTER JOIN
sã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.
LIMIT
negativo 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>.pid
e 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
JOIN
com 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.