|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
Приветствую знатоков и разработчиков! WI-V3.0.6.33328 Firebird 3.0 Занимаюсь вопросами миграции с Firebird 1.5 на 3.0. Для 1.5 есть серия диагностических хранимых процедур. В частности есть проверка на наличие null в полях с ограничением not null. В процессе перевода на новую версию, инвентаризации и тестирования этих хранимых процедур я попытался создать в 3-ей версии сервера тестовую таблицу с подобным артефактом, но не получилось. Возможно ли в новых версиях сервера как-нибудь запихнуть null в колонку с ограничением not null? Или данная диагностика уже не актуальна? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 13:42 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
ggreggory, впихнуть невпихуемое? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 13:50 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
ggreggory, а в полторашке это было возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 13:54 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
Так, видимо, могло статься, когда кляуза NOT NULL добавилась на поле, когда в таблице уже были данные с null в этом поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 14:00 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
KreatorXXI ggreggory, а в полторашке это было возможно? Если голову вовремя выключить, возможным становится многое. Если у меня не активировался придумывательный склероз, можно было на таблице с данными создать поле not null и не целиком его заполнить. Или наложить на существующее поле это ограничение и забить на заполнение. В конце концов, просто базу поломать ресетами компа, особенно с FW off. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 14:06 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
ggreggory Приветствую знатоков и разработчиков! WI-V3.0.6.33328 Firebird 3.0 Занимаюсь вопросами миграции с Firebird 1.5 на 3.0. Для 1.5 есть серия диагностических хранимых процедур. В частности есть проверка на наличие null в полях с ограничением not null. В процессе перевода на новую версию, инвентаризации и тестирования этих хранимых процедур я попытался создать в 3-ей версии сервера тестовую таблицу с подобным артефактом, но не получилось. Возможно ли в новых версиях сервера как-нибудь запихнуть null в колонку с ограничением not null? Или данная диагностика уже не актуальна? Ну, можно напихать какие хошь данные, а потом констреинт добавить: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 14:12 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
Одной проверкой меньше. Спасибо за отклики! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 16:52 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
ggreggory Возможно ли в новых версиях сервера как-нибудь запихнуть null в колонку с ограничением not null? Или данная диагностика уже не актуальна? Возможно. Вот сегодня рестор базы (3.0.5 SS) остановился по этой причине (5 строк с Null в поле с ограничением Not Null). Примерный сценарий - при работающих пользователях в таблицу с записями добавляешь колонку, указываешь значение, указываешь NOT NULL. Некоторое время параллельно работающие пользователи будут создавать записи с NULL в этом поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 04:14 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
Тест-кейс, как в FB 3.0.5 сделать строки с null в not null-поле. 1. Создаем две таблицы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
2.Добавляем строки в первую таблицу: Код: sql 1. 2. 3. 4. 5. 6.
Здесь делаю переконнект. Но возможно это не требуется. 3. Пробуем вставить запись и откатываем транзакцию: Код: sql 1.
4. Делаем второе поле у первой таблицы NOT NULL: Код: sql 1.
5. Снова вставляем запись и коммитим транзакцию: Код: sql 1.
6. Делаем SELECT * FROM TEST_TABLE. Вуаля, у нас в NEW_FIELD - NULL. Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 04:50 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
o_v_a Так, видимо, могло статься, когда кляуза NOT NULL добавилась на поле, когда в таблице уже были данные с null в этом поле. С 3.0 такое вроде тоже уже не прокатывает. Скорее сначала там не было not null и была проверка. Потом сделали это требование, а проверка осталась артефактом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:10 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
CyberMax, Это очень похоже на баг. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:12 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
CyberMax, в трекер занесёшь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:15 |
|
Занести null в колонку с ограничением not null
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:28 |
|
|
start [/forum/topic.php?fid=40&fpage=11&tid=1560229]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 237ms |
total: | 418ms |
0 / 0 |