powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Компарер баз: изменение вычисляемого поля с применением нового поля
7 сообщений из 7, страница 1 из 1
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39278316
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было вычисляемое поле:
Код: sql
1.
COMPUTED_FIELD COMPUTED BY (F1 + F2).


Потом было добавлено новое поле и изменено вычисляемое поле:
Код: sql
1.
COMPUTED_FIELD COMPUTED BY (F1 + F2 + F3). 



Компарер генерирует скрипт, в котором сначала альтерится вычисляемое поле, и только потом добавляется поле:
Код: sql
1.
2.
3.
ALTER TABLE T ALTER COMPUTED_FIELD COMPUTED BY (F1 + F2 + F3);

ALTER TABLE T ADD F3 INTEGER;


Последовательность должна быть наоборот.
...
Рейтинг: 0 / 0
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39278358
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

он наверное на порядок полей ориентируется. А вот тут то и засада.
...
Рейтинг: 0 / 0
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39278384
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Ты прав. Новые поля идут после того вычисляемого поля.
...
Рейтинг: 0 / 0
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39278656
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

проще позицию поля поменять.
1. IBE всё равно не сможет сделать всего анализа зависимостей. Тем более что для вычисляемых полей нет никаких dependeces, а следовательно зависимости можно распознать только парсингом выражения.
2. Даже если IBE задвинет вычисляемое поле в конец, то ему потом ещё нужно догадаться переставить поля местами.
...
Рейтинг: 0 / 0
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39279440
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно все же как gbak это распознает

в 5.х это был как раз один из способов сделать невосстановимый, я его тогда отрепортил
в 6.0 исправили
...
Рейтинг: 0 / 0
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39279456
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис2. Даже если IBE задвинет вычисляемое поле в конец, то ему потом ещё нужно догадаться переставить поля местами.
Денис, это же просто. Сначала добавляем новые поля, потом альтер существующих, а установка позиций полей все равно произойдет в отдельном этапе. Если происходит дроп полей, которые сейчас используются в вычисляемом поле, то они прописываются после альтера.
...
Рейтинг: 0 / 0
Компарер баз: изменение вычисляемого поля с применением нового поля
    #39281241
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Компарер баз: изменение вычисляемого поля с применением нового поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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