1.10.5 То, что надо сделать когда-нибудь
-
Реализовать функцию:
get_changed_tables(timeout,table1,table2,...)
. - Изменить чтение таблиц так, чтобы везде, где возможно. использовалась memmap. Сейчас memmap используется только для уплотненных таблиц.
-
Сделать лучше автоматический код временных меток (timestamp).
Добавлять временные метки в журнал обновлений при помощи
SET TIMESTAMP=#;
. - Использовать в некоторых местах семафор чтения/записи для увеличения скорости.
-
Обеспечить полную поддержку внешних ключей в
MyISAM
-таблицах (возможно, после реализации хранимых процедур с триггерами). - Подготовить простые обзоры (сначала по одной таблице, позднее по любому выражению).
- Реализовать автоматическое закрытие некоторых таблиц, если таблица, временная таблица или временные файлы получат ошибку 23 (недостаточно открытых файлов).
- Если обнаружится поле=#, заменить все местонахождения поля на #. Сейчас такое делается только для некоторых простых случаев.
- Заменить все константные выражения вычисляемыми, если возможно.
- Реализовать оптимизацию ключ=выражение. К данному моменту делается оптимизация только для ключ=поле или ключ=константа.
- Связывать некоторые функции копирования для улучшения кода.
-
Заменить
sql_yacc.yy
внутритекстовым синтаксическим анализатором, чтобы уменьшить ее размер и получать лучшие сообщения об ошибке (5 дней). - Изменить собственный синтаксический анализатор так, чтобы он использовал только одно правило для различного количества аргументов в функции.
- Использовать полные вычисляемые имена в части сортировки (для ACCESS97).
-
MINUS
,INTERSECT
иFULL OUTER JOIN
(в настоящее время поддерживаютсяUNION
[в 4.0] иLEFT OUTER JOIN
). -
SQL_OPTION MAX_SELECT_TIME=#
, чтобы устанавливать ограничения по времени для запроса. - Сделать так, чтобы обновляемый журнал записывался в базу данных..
-
Сделать добавления в
LIMIT
, чтобы можно было делать восстановление данных с конца результирующего набора. - Сигналы предупреждений для функций соединения/чтения/записи клиента.
-
Необходимо обратить внимание на изменения на
safe_mysqld
; согласно FSSTND (которому пытается следовать Debian) PID-файлы должны помещаться в `/var/run/<progname>.pid', a файлы журналов - в `/var/log'. Было бы хорошо, если бы было можно поместить "`DATADIR'" в первое объявление "`pidfile'" и "`log'", чтобы местоположение этих файлов можно было изменить одним оператором. - Разрешать клиенту запрашивать ведение журналов.
-
Добавить использование
zlib()
дляgzip
-файлов вLOAD DATA INFILE
. -
Исправить сортировку и группирование
BLOB
-столбцов (сейчас проблема частично решена). - Хранимые процедуры. Рассматриваются также триггеры.
- Простой (атомарный) язык обновления, который может быть использован для написания циклов и т.п. в MySQL-сервере.
- Произвести изменения для того, чтобы пользоваться семафорами при подсчете потоков. Но сначала нужно реализовать библиотеку семафоров для потоков MIT-pthreads.
-
Не устанавливать новое значение во время установки колонки в 0. вместо
этого использовать
NULL
. -
Добавить полную поддержку круглых скобок для
JOIN
. - В качестве альтернативы одному потоку/соединению управлять пулом потоков при обработке запросов.
-
Обеспечить возможность получать более чем одну блокировку при помощи
GET_LOCK
. Когда это будет реализовано, потребуется еще сделать обработку возможных тупиковых ситуаций, которые привнесет данное изменение.
Время отводится согласно объемам работ, а не реальному времени.
1.10.4 Что должно быть сделано в ближайшем будущем | Оглавление | 1.10.6 То, чего не планируется делать |