переход с IB на FB
Модераторы: kdv, Alexey Kovyazin
-
- Сообщения: 25
- Зарегистрирован: 11 авг 2007, 17:40
переход с IB на FB
сделал b/r.(с первого раза конечно не получилось,пришлось делать экспорт в скрипты и править IB).заработало.и обнаружилось следующее.на рабочей базе открываю текст процедуры,делаю несущественные изменения(например коммент вставляю) и при компиляции выдаёт ошибку.я почитал про BLR немного.как я понял текст процедуры абсолютно никак не связан с её двоичным кодом.т.е. можно залезть в системные таблицы и в тексте написать "фига",бинарный код будет продолжать работать.получается при b/r просто переносится текст и бинарный код,перекомпиляции процедур не происходит?
если это так то как можно принудительно всё перекомпилирвать на новом сервере?ведь в новой версии возможно что бинарный код более оптимален.
может я сильно заблуждаюсь,но это не потому что я такой тупой,просто не нашёл нигде об этом никакой информации
если это так то как можно принудительно всё перекомпилирвать на новом сервере?ведь в новой версии возможно что бинарный код более оптимален.
может я сильно заблуждаюсь,но это не потому что я такой тупой,просто не нашёл нигде об этом никакой информации
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: переход с IB на FB
сынок, это фантастика (с)SeventhSon писал(а):ведь в новой версии возможно что бинарный код более оптимален
попробуй IBExpert или любой другой инструмент, который позволяет перекомпилировать процедуры.если это так то как можно принудительно всё перекомпилирвать на новом сервере?
разве что коды для новых конструкций добавлены. Которые и так появятся при компиляции новой или измененной процедуры.ведь в новой версии возможно что бинарный код более оптимален.
-
- Сообщения: 25
- Зарегистрирован: 11 авг 2007, 17:40
2 Dimitry Sibiryakov:я подправил проблемные места в IB,и-b/r.чем способ с перезаливкой данных лучше?ведь медленнее-это наверняка?
2 dimitr:ну да.про оптимальность это я нафантазировал наверное:)хотя если код1 компилился допустим для 386 а код2-для
586 то разница ведь будет?ну чисто теоретически хотя бы!новые инструкции появляются не только в языках программирования,у процессоров тоже.с 32 на 64 ведь перешли(ax->eax)?mmx команды добавляли?может завтра на 128 перейдут?хотя с другой стороны если проверено и работает зачем менять
kdv и товарисчи,я извиняюсь за настойчивость, но вы мне не ответили ли я вас не так понял:oops: что же получается?при апгрейде через b/r меняется ods а бинарный код и исходники копируются и ничего не перекомпилируется?только вручную?
2 dimitr:ну да.про оптимальность это я нафантазировал наверное:)хотя если код1 компилился допустим для 386 а код2-для
586 то разница ведь будет?ну чисто теоретически хотя бы!новые инструкции появляются не только в языках программирования,у процессоров тоже.с 32 на 64 ведь перешли(ax->eax)?mmx команды добавляли?может завтра на 128 перейдут?хотя с другой стороны если проверено и работает зачем менять
kdv и товарисчи,я извиняюсь за настойчивость, но вы мне не ответили ли я вас не так понял:oops: что же получается?при апгрейде через b/r меняется ods а бинарный код и исходники копируются и ничего не перекомпилируется?только вручную?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Тем что IB и FB - разные сервера и могут быть несовместимы (на что ты и нарвался). Ты, случайно так, с MS SQL в Oracle не пытался БД перенести через бэкап-рестор?SeventhSon писал(а):чем способ с перезаливкой данных лучше?ведь медленнее-это наверняка?
Вряд ли отлов глюков после неудачного переноса будет быстрее перекачки данных.
ты не путай бинарный код процессора с интерпретируемым байт-кодом в IB/FBSeventhSon писал(а):если код1 компилился допустим для 386 а код2-для
586 то разница ведь будет?
да, конечно. Ибо совместимость по BLR гарантируется.SeventhSon писал(а):что же получается?при апгрейде через b/r меняется ods а бинарный код и исходники копируются и ничего не перекомпилируется?
да, потому что перекомпилировать blr не зачем. старые фичи и так поддерживаются. новый ods это расширение, а не модификация.что же получается?при апгрейде через b/r меняется ods а бинарный код и исходники копируются и ничего не перекомпилируется?
а вот разница в blr как и в sql у последних версий ib и fb - да, есть, поэтому blr может быть _несовместим_, как туда, так и обратно, о чем тебе и сказали.