Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL / 14 сообщений из 14, страница 1 из 1
22.06.2018, 14:26
    #39664260
bazilio77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
Заметил следующее поведение Firebird 4.0

Делаем backup 3.0
Делаем restore 4.0
Автоматически добавляются сентенции default 0 ключевым полям объявленным NOT NULL

И соответственно код триггеров before insert перестает работать

if (new.ID is null) then
begin

Это не является проблемой, но хотелось обратить на это внимание.
Переход на 4.0 требует ревизии триггеров before insert.
...
Рейтинг: 0 / 0
22.06.2018, 14:40
    #39664263
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
bazilio77,

вообще-то является. В трекер. Походу в gbak много косяков внесли
...
Рейтинг: 0 / 0
22.06.2018, 14:50
    #39664270
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
bazilio77> Автоматически добавляются сентенции default 0 ключевым полям объявленным NOT
NULL

Это стопудовый баг.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.06.2018, 15:01
    #39664278
bazilio77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
...
Рейтинг: 0 / 0
22.06.2018, 15:07
    #39664286
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
bazilio77Автоматически добавляются сентенции default 0 ключевым полям объявленным NOT NULLИ как ты создал поле NOT NULL без DEFAULT ?
...
Рейтинг: 0 / 0
22.06.2018, 15:13
    #39664294
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
22.06.2018 15:07, hvlad пишет:
> И как ты создал поле NOT NULL без DEFAULT ?

а что, кто-то запрещал?
Код: sql
1.
CREATE TABLE TEST3 (ID  INTEGER NOT NULL);


ODS 12.0
Dialect 1

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.06.2018, 15:16
    #39664301
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
а, вспомнил!
запрещено добавлять поля NOT NULL без DEFAULT в таблицу с данными .
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.06.2018, 15:22
    #39664304
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
Мимопроходящий> запрещено добавлять поля NOT NULL без DEFAULT в таблицу с данными.

Всё равно должен быть error message, а не молчаливое изменение DDL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.06.2018, 15:27
    #39664311
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
Я не смог это сходу воспроизвести.
В трекере тоже одни слова, примера нет.
...
Рейтинг: 0 / 0
22.06.2018, 15:40
    #39664317
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
Мимопроходящийа, вспомнил!
запрещено добавлять поля NOT NULL без DEFAULT в таблицу с данными .А почему? Мне, например, лучше, чтоб "падало", чем чтобы что-то добавлялось.
...
Рейтинг: 0 / 0
22.06.2018, 16:27
    #39664343
bazilio77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
hvladЯ не смог это сходу воспроизвести.
В трекере тоже одни слова, примера нет.

Проверил не получается с последним билдом, сейчас все хорошо.
Я делал тестовую миграцию 4.0 несколько месяцев назад,
сейчас еще раз решил поупражняться, увидел проблемы триггеров,
сверил ibexpert 3.0 и 4.0 увидел кучу различий в default 0.
...
Рейтинг: 0 / 0
22.06.2018, 16:48
    #39664357
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
YuRock> А почему? Мне, например, лучше, чтоб "падало", чем чтобы что-то добавлялось.

Default при Alter еаблицы с данными требуется не
для добавляемых данных, а для уже имеющихся.

P.S. Кстати, интересно, как там проблема транзакции
решена - получается DDL и DML в одной транзакции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.06.2018, 16:49
    #39664358
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
bazilio77> Проверил не получается с последним билдом, сейчас все хорошо.
bazilio77> Я делал тестовую миграцию 4.0 несколько месяцев назад,

Ну вот надо было несколькомесячноназадный номер билда и указать в тикете.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.06.2018, 18:59
    #39664423
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL
Гаджимурадов РустамDefault при Alter еаблицы с данными требуется не
для добавляемых данных, а для уже имеющихся
При ALTER - понятно, я не против.
А, не заметил добавлять .
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / backup 3.0 -> restore 4.0 автоматическое добавление default 0 к полям NOT NULL / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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