|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
ques, это не ошибка. SQL> COMMIT; -- в этом месте во избежание DEADLOCK-а останавливаем апдейты в клиентском приложении SQL> UPDATE TBL SET BLAH_BLAH_BLAH = 0; -- запускаем клиентские апдейты -- на самом в этом месте приложение уже успело навтыкать много новых записей SQL> COMMIT; -- никаких ошибок нет, во всех записях значение поля BLAH_BLAH_BLAH должно равняться 0 -- да щаз смотри выше SQL> SELECT COUNT(*) FROM TBL WHERE BLAH_BLAH_BLAH IS NULL; COUNT ============ 74 -- имеются записи, в которых значение BLAH_BLAH_BLAH есть NULL -- что подтверждает выше сказанное SQL> COMMIT; SQL> Теперь закрываем клиентское приложение и выходим из ISQL Опять заходим в ISQL Пока ты думал оно ещё навставляло SQL> SELECT COUNT(*) FROM TBL WHERE BLAH_BLAH_BLAH IS NULL; COUNT ============ 5070 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 15:57 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
ЗимарглТак что свои фантазии вы либо изо рта не вытаскивайте, либо обратно в ***у засуньте.Почитай на досуге фантазии, выдуманные из пальца вот в этих тикетах ФБ-трекера: 429 467 916 1032 1093 1208 1289 1800 2167 2253 2283 2696 3082 3279 3529 3574 3610 3660 3700 4783 4800 И пусть твой хрустальный самолёт linter никогда не напорется на что-либо из перечисленного. Удачи на дорогах, наездник. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:05 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
Симонов Денисэто не ошибка. Ну, тогда вопрос закрыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:11 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
ques, нет не закрыт. То что ты описал это вполне нормально. А вот это quesПосле коммита запрос count(*) этой таблицы вызывает ошибку. gfix показал наличие большого количества wrong page type. Опция -mend базу не вылечила. Пришлось восстанавливаться из ночного бекапа. нет ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:15 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
Таблоид, например - CORE-2696, Фернандо вроде склероз поразил, потому что default у добавленного столбца выводится, но не хранится. То есть, на грабли легко можно попасть создав add field int not null default 0. После добавления мы увидим якобы 0 в добавленном столбце, а на самом деле этого столбца физически не существует в записях старого формата. Мне кажется, что проблемы такого типа весьма геморройны в решении. И "защита от дурака" тут разве что запретительная, или запретительно-принудительная. Например - добавил столбец, значит с этого мгновения: - всем, кто не видит новый формат записи, категорически запретить записи менять - принудительно сделать update всем (миллионам, миллиардам) записям такой таблицы. А потом, ласково поглаживая по голове "умельца", спросить - ну что, понравилось тебе на ходу метаданные менять? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:19 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
Симонов Денис, когда-то были баги, при которых после изменения метаданных (даже просто триггеров таблицы) в многопользовательской среде портилась база. Но несколько не так, т.е. не с такими как у автора последствиями. Либо автор не про 2.5.4 говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:22 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
Симонов Дениснет не закрыт К сожалению, воспроизвести ошибку не удалось. Как с порчей базы, так и с непонятным сообщением о нарушении уникальности, которой быть по идее не должно. Вот думаю, размер БД может играть значение? Убитая БД была размером 14 GB. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:24 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
quesразмер БД может играть значение? нет, не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:27 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
quesс непонятным сообщением о нарушении уникальности, которой быть по идее не должно. Эту-то ошибку воспроизвести легко: просто выполни свой "ALTER TABLE TBL ADD BLAH_BLAH_BLAH INTEGER" два раза подряд. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:30 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
kdvЛибо автор не про 2.5.4 говорит. Server version: WI-V6.3.3.26780 Firebird 2.5 Client library version: 6.3.3.26780 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:32 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovquesс непонятным сообщением о нарушении уникальности, которой быть по идее не должно. Эту-то ошибку воспроизвести легко: просто выполни свой "ALTER TABLE TBL ADD BLAH_BLAH_BLAH INTEGER" два раза подряд. Кстати, вполне возможно. Извиняюсь, был напуган :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:35 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
queskdvЛибо автор не про 2.5.4 говорит. Server version: WI-V6.3.3.26780 Firebird 2.5 Client library version: 6.3.3.26780Это 2.5.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:36 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
hvladЭто 2.5.3 Э-э-э... Это версия FB у меня дома. Завтра уточню, какая именно версия в продакшн. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 16:39 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
ques7. Выясняется, что в таблице имеется какое-то количество записей, в которых значение добавленного поля NULL. Неожиданно. Более предпочтительным было бы если бы значение не затиралось. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2015, 21:29 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
архитектура сервера может влиять? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 00:43 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
kdvнапример - CORE-2696, Фернандо вроде склероз поразил, потому что default у добавленного столбца выводится, но не хранится. То есть, на грабли легко можно попасть создав add field int not null default 0. После добавления мы увидим якобы 0 в добавленном столбце, а на самом деле этого столбца физически не существует в записях старого формата. так было раньше, в 3.0 такое невозможно. Так что никакого склероза нет. И теперь дефолты привязаны к формату и таки хранятся. В общем, отстал ты от жизни :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 10:14 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
queshvladЭто 2.5.3 Э-э-э... Это версия FB у меня дома. Завтра уточню, какая именно версия в продакшн. Уточнил: WI-V2.5.4.26856 Firebird 2.5 Установлен как Classic Server ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 10:19 |
|
Каков механизм порчи базы?
|
|||
---|---|---|---|
#18+
анонимосы всегда гонят пургу насосом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 11:36 |
|
|
start [/forum/topic.php?fid=40&msg=39016154&tid=1562696]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 388ms |
0 / 0 |