powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переход с версии 2.1 на 2.5
19 сообщений из 44, страница 2 из 2
Переход с версии 2.1 на 2.5
    #38625928
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodmanя думаю что у меня просто нехватка опыта по переводу БД
Нет, просто ты своей правкой БД "по живому" её немного повредил.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38625967
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Неявные касты?

Не совсем понимаю что есть: "неявные касты" (Неявные обращения к таблицам в select'ах?)

При заливке скриптом по идее была бы такая же проблема. Скриптом все заливается без ошибок. Хотя и при restore вроде все разворачивается, и видимых отличий по метаданным нет (по крайней мере по количеству таблиц, процедур, тригеров, udf, индексов).
Но если есть ошибка, она может мне потом когда-нибудь так аукнуться.....
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38626033
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodmanDarkMasterНеявные касты?

Не совсем понимаю что есть: "неявные касты" (Неявные обращения к таблицам в select'ах?)


Код: sql
1.
2.
3.
4.
5.
6.
7.
execute block (X varchar(10)=?X)
returns (i integer)
as
begin
  i=x;
  suspend;
end



Отдай блоку на вход строки '1234' и ' '. Прочувствуй разницу.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38626166
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterНеявные касты?

Типы данных перепутать не могли никак, ибо все процедуры, тригера - компилируются, и из скрипта то экспорт-импорт проходит нормально без ошибок.
Где-то, я думаю корявое описание может какое. Но знать бы куда копать. Проблема вылазит после коммита, не могу определить куда он обращается, когда вылетает на ошибку (Судя по данным выхлопа gbak, последние строки перед остановкой приведены выше).
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38626171
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНет, просто ты своей правкой БД "по живому" её немного повредил.


Все процедуры и приложения по обращению или изменению в базе, обязательно откатываются на "кошках". А лишь после заливаются, да и backup resore на 2.1 проходит без сучка и задоринки.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38626203
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodman> backup resore на 2.1 проходит без сучка и задоринки.
Ну, у нас на 4.2.1 - тоже лихо прокатывало...
А потом на 1.0.х - взяло и съехало...
Оказалось, что там затесался какой-то непечатный символ, выглядевший, как пробел... ;)

--
Vladimir A.Bakhvaloff
E-Mail: zirra1969<bark>gmail<dot>com

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38629199
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodmankdv,

Вот кусок "выхлопа":
gbak: activating and creating deferred index RDB$PRIMARY
gbak: activating and creating deferred index FK_TBL_SPRSCANCOD_1
gbak: committing metadata
gbak: ERROR:conversion error from string " "
gbak:Exiting before completion due to errors

Структуру таблицы (TBL_SPRSCANCOD) можно?
Вообще просто по какой то причине поломан constraint, у нас толи в 2.1, толи 2.0 такое бывало.
Конкретно этот gbk файл на 2.1. восстанавливается без проблем? Если да то прблема, которую помню при переходе - это уникальный индекс по нескольким полям с допуском null-ов ( в 2.? он работал некорректно, вроде это уже после 1.0 было, если память не подводит ) .
Так же посмотреть check на поля в данной таблице.

Есть вариант после восстановления на 2.1 выгрузить данные из таблицы TBL_SPRSCANCOD и удалить её содержимое, потом сделать b 2.1/ r 2.5 и залить данные обратно, либо перед b дропнуть внешний ключ попробовать, и посмотреть на данные в 2.5
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38629202
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81Так же посмотреть check на поля в данной таблице.


в памяти крутится что-то про нехорошую запись типа value in ( null, 0, 1 ) в check constraint, и как раз связанное со строками, но точно вспомнить не могу
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647329
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81,

Пробовал удалить таблицу TBL_SPRSCANCOD полностью и все зависящие от нее процедуры и тригера, результата не приносит.
Самое странное что через скрипт все загружается без проблем.

Структура таблицы
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
SET SQL DIALECT 3;

CREATE TABLE TBL_SPRSCANCOD (
    ID         INTEGER NOT NULL,
    SCANCOD    INTEGER NOT NULL,
    CODTVR     INTEGER NOT NULL,
    ZAKAZ      VARCHAR(30) CHARACTER SET WIN1251,
    ORGZAKAZ   INTEGER,
    VESC       NUMERIC(3,3),
    VESV       NUMERIC(3,3),
    VESP       NUMERIC(3,3),
    VESU       NUMERIC(3,3),
    VSTDETAIL  VARCHAR(255) CHARACTER SET WIN1251,
    RAZMER     NUMERIC(3,2),
    DATEIZD    DATE NOT NULL,
    NAMUSER    VARCHAR(50) CHARACTER SET WIN1251,
    ISDEL      VARCHAR(50) CHARACTER SET WIN1251
);

ALTER TABLE TBL_SPRSCANCOD ADD CONSTRAINT UNQ1_TBL_SPRSCANCOD UNIQUE (SCANCOD);

ALTER TABLE TBL_SPRSCANCOD ADD CONSTRAINT PK_TBL_SPRSCANCOD PRIMARY KEY (ID);

ALTER TABLE TBL_SPRSCANCOD ADD CONSTRAINT FK_TBL_SPRSCANCOD_1 FOREIGN KEY (CODTVR) REFERENCES SPTVR (CODTVR);

CREATE INDEX TBL_SPRSCANCOD_IDX1 ON TBL_SPRSCANCOD (SCANCOD);
CREATE INDEX TBL_SPRSCANCOD_IDX2 ON TBL_SPRSCANCOD (ZAKAZ);
CREATE INDEX TBL_SPRSCANCOD_IDX3 ON TBL_SPRSCANCOD (CODTVR);
CREATE INDEX TBL_SPR_SCANCODIDX3 ON TBL_SPRSCANCOD (ORGZAKAZ);



Еще одна странная особенность что после выгрузки мета-данных через gbak все процедуры, тригера, индексы без проблем перекомпилируются.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647419
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое интересно что после выгрузки метаданных и скрипта на новой версии FB backup проходит а restore нет. С той же мой ошибкой Error conversion from string " ". Где-то сидит "кракозябра" а вот как ее выловить ума не приложу. Может есть еще какие идеи?
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647423
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodmanNikolayV81,

Пробовал удалить таблицу TBL_SPRSCANCOD полностью и все зависящие от нее процедуры и тригера, результата не приносит.
Самое странное что через скрипт все загружается без проблем.


Пропустил что-то, а с ключём -i восстанавливается ( полный бэкап с данными )?
( Можно ещё -o добавить, на всякий случай ( есть около-нулевая вероятность отловить в какой таблице проблема ) )
Если с деактивированными индексами восстанавливается, то после восстановления ручками ( скриптом ) пройти по индексам и активировать их, будет понятно который не взлетел.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647448
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81,

Данные выливать пока даже не пытаюсь, т.к. проблема в метаданных.
С ключами пробовал -i, -o пока рановато, дело данных еще не дошло.

Все метаданные перекомпилируются (процедуры, триггеры). И recreate индекса проходит нормально (на FB 2.5), метаданные залил через скрипт.
Почему то кажется что проблема где-то в descriptions поля, таблицы или параметра процедуры. Но их тут очень много. По всей видимости придется по одному искать.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647654
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо за активное участие. Проблема нашлась. В одной из таблиц по каким-то чудным обстоятельствам (скорее еще при переходе с FB 1.5 на 2.1) был один кривой индекс.

Получилось вот значит как:
Есть поле ID на нем установлен Primary Key
А у самого поля нет установлен параметр "not null".
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647659
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodmanВсем большое спасибо за активное участие. Проблема нашлась. В одной из таблиц по каким-то чудным обстоятельствам (скорее еще при переходе с FB 1.5 на 2.1) был один кривой индекс.

Получилось вот значит как:
Есть поле ID на нем установлен Primary Key
А у самого поля нет установлен параметр "not null".

Кто то в системные таблицы руками лазил...
Хорошо что нашлось.

Да при переходе там возможно ещё udf ещё изменения вроде как ( или это с 1.0 было ) рекомендую проверить.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38647675
Фотография drodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81,

Действительно были при ранних переходах проблемы с UDF из-за того что были функции в udf, а потом стали встроенными. Еще неделька тестов и на продакшен.

Кстати если кому интересно размер базы 270 Gb время через BackupRestore на 16-ти камнях и 32 Gb ОЗУ заняло чуть более 1,5 часа.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38648281
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drodmanNikolayV81,

Действительно были при ранних переходах проблемы с UDF из-за того что были функции в udf, а потом стали встроенными. Еще неделька тестов и на продакшен.

Кстати если кому интересно размер базы 270 Gb время через BackupRestore на 16-ти камнях и 32 Gb ОЗУ заняло чуть более 1,5 часа.
Не верю
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38648366
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemardrodmanNikolayV81,

Действительно были при ранних переходах проблемы с UDF из-за того что были функции в udf, а потом стали встроенными. Еще неделька тестов и на продакшен.

Кстати если кому интересно размер базы 270 Gb время через BackupRestore на 16-ти камнях и 32 Gb ОЗУ заняло чуть более 1,5 часа.
Не верю
Может у них индексов нет?
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38648724
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,:) это наверно совсем нет индексов. Или на мелких таблицах.
...
Рейтинг: 0 / 0
Переход с версии 2.1 на 2.5
    #38650477
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarwadman,:) это наверно совсем нет индексов. Или на мелких таблицах.

Если там есть таблица свалка блобов со сканами, то вполне может и 5/6 файла базы съедать. FB сильно не хватает tablespace-ов.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переход с версии 2.1 на 2.5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]