оригинал: http://www.ibphoenix.com/ibp_rc1_faq.htmlby
Paul Beach
перевод: КДВ (http://www.ibase.ru/)
абсолютный url: http://www.ibase.ru/v6/fbrcfaq.htm
дата
перевода: 02.12.2001
дата последнего обновления: 05.12.2001
Скоро будет доступен Release Candidate 2. Практически все перечисленные здесь проблемы в нем будут отсутствовать. Обращайте внимание на "Статус" после описания каждой проблемы.
Если Вы загрузили snapshot RC1 для Windows, рекомендуем Вам загрузить самую последнюю версию.
FILEVERSION это скрытый ресурс, хранимый как integer. Он не виден в File | Properties для ibserver.exe. Однако он используется инсталляционными скриптами для определения номера версии исполняемых и dll файлов. Оригинальный релиз Win32 RC1 содержит FILEVERSION равный 7.2. Если эти файлы оставить на диске, то инсталляторы новых версий Firebird или Interbase могут сработать неправильно (т.е. не переписать ibserver.exe и другие файлы).
Если вы используете старый RC1, то рекомендуется вручную удалить файлы *.exe, *.dll и gds32.dll перед установкой новой версии, или не удаляя переписать их файлами из более свежего snapshot.
Дистрибутив с инсталлятором для Win32 использует самые последние версии исполняемых файлов, и не имеет подобной проблемы.
Если вы устанавливаете файлы из snapshot, то поставте RC1a snapshot. В нем
находятся правильные файлы.
RC1a выпущен 26 ноября, и содержит файлы билда
612.
Статус — исправлено в RC2
Статус — исправлено в RC2. Т.е. вновь создаваемые БД имеют FW = ON.
Первоначально выложенный snapshot впоследствии был заменен файлами с правильным FILEVERSION. Дата правильного snapshot должна быть 19-NOV-01 01:00:00. У неправильных файлов дата равна или меньше 13-NOV-01.
SQL error code = -204
Ambiguous field name between table/view TOKEN
and table/view
Firebird теперь не выполняет запросы, которые ссылаются на имена столбцов, которые повторяются в выбираемых таблицах. Прежнее поведение всех версий Interbase и Firebird могли дать (и часто давали) неверный результат выборки, зависящий в том числе от порядка выбираемых таблиц.
Это один из основных пунктов при миграции на новые версии Firebird.
КДВ: привожу пример неоднозначной выборки над employee.gdb:
select po_number, customer, department, last_name, phone_no from customer c, employee e, sales s, department d where c.cust_no = s.cust_no and d.dept_no = e.dept_no and e.emp_no = s.sales_rep
поле phone_no есть как в delartment, так и в sales. Поэтому Firebird на такой запрос будет "ругаться", требуя указать алиасы полей явно. Не ленитесь, поскольку такое требование указано и в стандарте (т.е. подобное поведение Firebird — это не самодеятельность).
Статус — расширено в RC2 (в диалекте 1 подобный запрос отработает, а в диалекте 3 — выдаст ошибку).
Увы, да. Драйвер использует запросы с неуточнением имен полей. В RC2 это будет исправлено.
Статус — исправлено в RC2.
Да, есть такое. Замечательный способ удалить все данные в таблице. Пример:
delete from table where col in (select col first 5 from table);
не удалит только 5 строк, а удалит все записи. Потому что подзапрос выполняется для КАЖДОЙ записи внешнего запроса. Собственно, указывать FIRST в подобных случаях нельзя, однако сообщение об ошибке пока не выдается.
Статус — не решено. Не исправлено в RC2.
-SQL error code = -104
-Token unknown — line N, char X
Да, есть такая ошибка в ISQL. Вполне возможно, что она уже исправлена в самых последних билдах Firebird.
Статус — исправлено в RC2.
Пока нет. Код добавлен в дерево исходных текстов, но пока полностью под Linux не тестировался. В настоящее время файлы базы данных более 2Гб поддерживаются только на Win32 и Darwin (Mac OS X). Так что пока для баз больше 2Гб используйте многофайловые БД.
Когда код будет окончательно протестирован, будут доступны отдельные дистрибутивы. Так будет потому, что сама операционная система должна поддерживать работу с большими файлами, а это есть только в Linux kernel 2.4, да и то работает пока не совсем надежно или однозначно.
Статус — в процессе.
Такая информация есть на http://www.ibphoenix.com/FirebirdBugsOpen.html. Этот же файл есть в виде zip в каталоге doc инсталляции. При наличии доступа в internet клик на номере бага отправит вас на соответствующее описание на SourceForge.
Действительно. Этот момент был упущен при создании дистрибутива. Файл будет доступен в самое ближайшее время.
КДВ: RC1 начался с билда 1.0.0.555. Там этот баг был. В билде 1.0.0.608RC1 он уже исправлен.
Да, если в вашей базе данных порядок триггеров важен, то в данной версии он игнорируется.
Статус — исправлено в RC2.
SELECT X.CUST_NO, ABS(SUM(X.TOTAL_VALUE))
FROM SALES X
GROUP BY
X.CUST_NO;
InterBase никогда не позволял группировать по вычисляемым выражениям или пользовательским функциям (UDF). В Firebird эта возможность добавлена, однако она имеет ряд побочных эффектов, поэтому пока была выключена.
Статус — возможно исправлено в RC2, требует проверки.
Да, баг есть, причем достаточно старый, и возможно относится ко всем версиям Interbase 6.0. Уже исправлен в билдах Firebird 1.0.0.608 и выше.
Статус — исправлено в RC2.