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




2.5.2 Модернизация с версии 3.23 до версии 4.0 - часть 4


  • HEX(string) сейчас возвращает символы строки, преобразованные в шестнадцатеричные. Если необходимо преобразовать число в шестнадцатеричное представление, убедитесь, что HEX() вызывается с числовым аргументом.

  • В версии 3.23 в команде INSERT INTO ... SELECT параметр IGNORE всегда был разрешен. В версии 4.0.1 MySQL остановится (и, возможно, произойдет откат) в случае ошибки, если IGNORE не задан явно.

  • Скрипт safe_mysqld переименован в mysqld_safe. Некоторое время мы будем включать safe_mysqld в дистрибутив как символическую ссылку на mysqld_safe.

  • Старые функции C API mysql_drop_db, mysql_create_db и mysql_connect

    больше не будут поддерживаться, если вы не скомпилируете MySQL с CFLAGS=-DUSE_OLD_FUNCTIONS). Вместо перекомпиляции лучше пересобрать клиента для использования нового 4.0 API.

  • В структуре MYSQL_FIELD величины length и max_length изменены с unsigned int на unsigned long. Это не должно вызывать проблем, за исключением того, что при использовании величин с такими типами в качестве аргументов в функциях класса printf() могут генерироваться предупреждающие сообщения.

  • Если необходимо удалить из таблицы все строки, но вам не нужно знать, сколько строк было удалено, следует использовать TRUNCATE TABLE при (поскольку TRUNCATE TABLE значительно быстрее, чем DELETE FROM table_name).

  • При попытке выполнить TRUNCATE TABLE или DROP DATABASE при наличии активной команды LOCK TABLES или транзакции вы получите ошибку.

  • Для хранения величин в столбцах BIGINT необходимо использовать целые числа (вместо строк, как было в MySQL 3.23). Возможность использования строк для данного случая пока еще работает, но применение целых чисел более эффективно.

  • Изменен формат SHOW OPEN TABLE.

  • Многопоточные клиенты должны использовать mysql_thread_init() и mysql_thread_end(). See section 8.4.8 Как создать клиентскую программу с потоками.

  • При желании перекомпилировать модуль Perl DBD::mysql необходимо получить версию Msql-Mysql-modules 1.2218 или более новую, поскольку в более старых модулях DBD использовался не поддерживаемый вызов функции drop_db().

  • В версии 4.0 RAND(seed) возвращает иные последовательности случайных чисел, чем в 3.23; это сделано для того, чтобы лучше различать RAND(seed) и RAND(seed+1).

  • Тип результата, возвращаемый IFNULL(A,B) теперь по умолчанию устанавливается более "общий" по отношению к типам A и B. Порядок выбора - STRING, REAL или INTEGER.




    Содержание  Назад  Вперед