"Произошла критическая ошибка базы данных".
Ситуация:
Мои кривые руки после 3 часов сна изобразили маленький процедурк, который выгружал в текстовый файл первичный ключ записи (строки одного из складских документов) и еще одно поле. Методом удара лома по твердой поверхности процедура загружала данные и из текстового файла в запись, правда с глюком: от записи оставался аккурат первичный ключ и одно поле.
Идем далее.. не оттестив оное и даже не бросив взгляда, я оставил эту процедурку нашему сервису с краткой инструкцией. Сам же удалился спать в надежде на пару-тройку эротических кошмаров с участием нового Вымакса (для поклонников брутального стиля -
http://www.nihonbike.com/index.php?page=galery&newsid=104&index=20 ).
Итак, далее начинается мистика:
Около восьми вечера системщик запустил процедурку на исполнение. Полученный файл сохранил, переворощил структуру таблиц и со спокойной советью перегнал из тестового файла данные обратно. Т.е. сделал все для убийства записей намертво.
Около десяти вечера сиквел сформировал бекап.
Около девяти утра следующего дня на сервис упала заявка о невозможности работы ввиду того, что один из объектов неоткомпелирован. К этому моменту пользователями было создано более 30-ти новых складских документов. Заметим, что этот объект к моей процедуре не относился никоим образом.
Выполнив компиляцию, сервис испросил разрешения на учет и учел один из документов (строками которого являются аккурат те самые записи).
И именно в этот момент (т.е. спустя более чем 14 часов) сработала "моя бомба" - данные удалились характерным способом.
Теперь собственно моя, вчера тошно заламывающая руки, не понимает следующих вещей:
Каким образом 10-ти часовой бекап оказался совершенно здоровым со всеми данными?
Каким образом оно вообще произошло спустя 14 часов?
Каким образом удалились все строки, в том числе и созданные позднее 8-ми часов вечера?
п.с. шеф грешит на большой кеш базы.
п.п.с. СУБД - сиквел.