Справочное руководство по MySQL версии 4.1.1-alpha

       

То, что надо сделать когда-нибудь


  • Реализовать функцию: 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/.pid', a файлы журналов - в `/var/log'. Было бы хорошо, если бы было можно поместить "`DATADIR'" в первое объявление "`pidfile'" и "`log'", чтобы местоположение этих файлов можно было изменить одним оператором.


  • Разрешать клиенту запрашивать ведение журналов.


  • Добавить использование zlib() для gzip-файлов в LOAD DATA INFILE.


  • Исправить сортировку и группирование BLOB-столбцов (сейчас проблема частично решена).


  • Хранимые процедуры. Рассматриваются также триггеры.


  • Простой (атомарный) язык обновления, который может быть использован для написания циклов и т.п. в MySQL-сервере.


  • Произвести изменения для того, чтобы пользоваться семафорами при подсчете потоков. Но сначала нужно реализовать библиотеку семафоров для потоков MIT-pthreads.


  • Не устанавливать новое значение во время установки колонки в 0. вместо этого использовать NULL.


  • Добавить полную поддержку круглых скобок для JOIN.


  • В качестве альтернативы одному потоку/соединению управлять пулом потоков при обработке запросов.


  • Обеспечить возможность получать более чем одну блокировку при помощи GET_LOCK. Когда это будет реализовано, потребуется еще сделать обработку возможных тупиковых ситуаций, которые привнесет данное изменение.

    Время отводится согласно объемам работ, а не реальному времени.


    Содержание раздела