InterBase: тормозология и глюконавтика Страница 34. Выдержки из interbase 5.5. Release Notes
|
Страница 34 из 38 Другие материалы Выдержки из interbase 5.5. Release Notes Мои личные комментарии - курсивом. Известные неисправленные глюки (Сами перечисляют, 15 штук.): - Не поддерживаются скобки в union. То есть нельзя написать select ... union (select ... union all select ...).
- gpre не поддерживает конструкцию BASED_ON из ANSI C.
- Невозможно создать foreign key, ссылающийся на первичный ключ, по которому созданы дополнительные уникальные индексы. Мы на этот глюк натыкались и он остался.
- isc_dsql_execute() не берёт запроc типа execute procedure, если у процедуры нет входных параметров
- Бэкап идёт очень медленно, если в недрах базы накопилось большое количество старых версий записей. Мы с Машей с этим однажды столкнулись на практике: база размером в четверть гигабайта не могла забэкапиться целую неделю!
- Если не установлен корректный лицензионный файл и сделать попытку запустить сервер через interbaseMGR, то попытка окончится неудачей, хотя сервер всё равно запуститься и заглушить его будет невозможно (Фиг их знает, что они имеют в виду. Ведь на самом деле interbaseMGR не запускает сервер, а лишь подключается к нему)
- Программы, состоящие из более чем одного файла, обработанного gpre не компонуются из-за продублированных идентификаторов
- isql -extract, если его запустить на древней базе (3.x), содержащей определения на GDML, а не SQL, выдаёт смесь из конструкций GDML и SQL.
- Клиент interbase до 4.2 включительно не воспринимает ситуацию, когда сервер на том конце разорвал соединение. К стати, утверждается, что ошибка исправлена в клиенте 5 и почему её поминают в этом разделе - непонятно.
- Имена серверных библиотек должны обязательно указываться с расширением .DLL, если дело происходит под NT. Утверждается, что это глюк Микрософта (и мы с ним сталкивались). Любопытно, что для обхода советуют руками обновлять rdb$functions.
- Оказывается, ошибки при create procedure, которая ссылается на несуществующий генератор, могут физически разрушить некоторые системные индексы. Рекомендуют этого избегать, а если произошло - немедленно ремонтировать базу со включённой опцией Validate Record Fragments.
- Сервер можно обрушить запросом: "SELECT RDB$DB_KEY FROM ANY_STORED_PROCEDURE;". Красота!
- Если забэкапить базу с доменами, но без таблиц, то она не разбэкапится (а я-то думал, что глюк с индексами в процедурах - единственный)
- Насчёт возможных причин "Remote Interface not licensed" говорят следующее:
- Это может быть старый gds32.dll - переустановить. Причём рекомендуют старое деинсталировать, а потом файлы руками грохнуть. Такой вот у них деинсталятор.
- Возможно, в лицензионном файле не прописано - сами (!) предлагают прописать ID: ISC30811, certificate key: ca-9-3a-0.
- HKEY_LOCAL_MACHINE/ Software/ Borland/ Database
Engine: настроить DLLPATH.
- Помнится, когда пытались переустанавливать то ли 4 поверх 5, то ли 5 поверх 4, вылазила ошибка про "interbasecheck". Оказывается, надо залезть в совершенно левое место реестра - HK_CURRENT_USER/Environment - и исправить PATH с двоичного типа на строковый. Двоичным его делает Install Shield, в частности тот, который ставит Delphi или JBuilder и это - его официально признанный глюк.
|