Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBExpert Новый топик    Ответить
 Компарер баз: ALTER вычисляемого поля  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1057
Если меняется существующее вычисляемое поле, то компарер генерирует вот такой скрипт:
ALTER TABLE BAT$RECEIPT$RECEIPT DROP ABOUT_EXEC_PROC;

ALTER TABLE BAT$RECEIPT$RECEIPT ADD ABOUT_EXEC_PROC /* CHAR(3) */ COMPUTED BY ('___');

Можно сделать обычный ALTER, чтобы обойтись без дропа всех зависимых ХП и триггеров?
22 дек 15, 12:14    [18593420]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 2034
Во-первых, ALTER вычисляемых полей работает только в FB 2.5 и выше.
Во-вторых, ты можешь гарантировать, что независимо от того, где и как используется данное вычисляемое поле, ALTER сработает в любом случае, и перекомпиляция зависимых объектов не понадобится? Я вот в этом не уверен.
22 дек 15, 16:31    [18595302]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1057
IBExpert,

1. Совершенно верно. И очевидно, чтобы компарер мог использовать все возможности сервера, указывается его версия.
2. Это должен гарантировать не я, а Адриано, который реализовал данную фичу:
A column defined as COMPUTED BY <expression> can now be altered using the ALTER TABLE...ALTER
COLUMN syntax. This feature can be used only to change the <expression> element of the column definition
to a different expression. It cannot convert a computed column to non-computed or vice versa.
23 дек 15, 08:15    [18597415]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 2034
CyberMax
2. Это должен гарантировать не я, а Адриано, который реализовал данную фичу:
A column defined as COMPUTED BY <expression> can now be altered using the ALTER TABLE...ALTER
COLUMN syntax. This feature can be used only to change the <expression> element of the column definition
to a different expression. It cannot convert a computed column to non-computed or vice versa.


Адриано в этой цитате ничего не гарантирует.
23 дек 15, 08:35    [18597458]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1057
IBExpert,

Это повод не использовать эту удобную фичу? Если будут какие-то проблемы, их исправят.
23 дек 15, 09:58    [18597741]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 2034
CyberMax
Это повод не использовать эту удобную фичу?


В компарере - да. Ровно до тех пор, пока не будет уверенности, что любое изменение выражения вычисления можно провести при активных зависимостях.
23 дек 15, 10:19    [18597847]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1057
IBExpert,

Можешь сделать специальную сборку с такой фичей? Я протестирую.
23 дек 15, 10:33    [18597931]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 2034
Да там не тестить надо, а знать точно. Вот Адриано точно знает.
А тестить я уже потестил: вроде меняется даже с изменением типа на какой угодно. Что это может за собой повлечь - фиг знает.
23 дек 15, 16:50    [18600350]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Компарер баз: ALTER вычисляемого поля  [new]
CyberMax
Member

Откуда: Хабаровск
Сообщений: 1057
Александр, можем вернуться к вопросу реализации данной фичи в FB 2.5?
2 окт 17, 10:08    [20835500]     Ответить | Цитировать Сообщить модератору
 Re: Компарер баз: ALTER вычисляемого поля  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 2034
CyberMax
Александр, можем вернуться к вопросу реализации данной фичи в FB 2.5?


Только если появились новые аргументы.
4 окт 17, 04:31    [20840714]     Ответить | Цитировать Сообщить модератору
Все форумы / IBExpert Ответить