powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Необъяснимое удаление первой строки в одной из таблиц БД
25 сообщений из 30, страница 1 из 2
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699335
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Firebird 2.5, клиент на Delphi. Раз в год происходит необъяснимое удаление самой первой строки в одной их таблиц БД. Таблица основная (хранится одновременно приход и расход), самая большая, но далеко не единственная. Есть сопоставимые по числу записей.
Причем первая строка пропадает на каждой из торговых точек (коих 15 штук), но не одновременно.
Предыстория: раз в год происходит обрезка базы - очищаются все таблицы, кроме справочников, остатки переносятся вручную через файл Excel приходным документом в клиенте. Через некоторое время - разное для каждой точки - месяц, два или более и происходит пропажа первой строки. Потом до следующей обрезки вроде все в порядке - ничего не пропадает.
Можно как-то выяснить в чем дело без ведения логов? Потому что 1) первая строка на рабочих базах уже везде пропала, 2) на точках включение логов нецелесообразно так как и там все работает медленно и 3) поможет ли вообще ведение логов для точного выяснения причины данной ситуации?
Сейчас хотелось хотя бы выяснить:
1. Дело в Firebird и происходит в результате каких-то внутренних процедур - возможно переиндексации или чего то подобного?
2. Дело в клиенте. Если в клиенте то в какую сторону копать?
З.Ы. Документ с этой самой первой строкой (входящие остатки) точно не перепроводился с момента обрезки базы на большинстве точек
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699337
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гадать можно долго о причине. Я бы повесил триггер BEFORE DELETE и проверял бы попытку удаления первой строки (у нее должно быть определенный ID). А дальше смотреть по стеку вызовов, как она удаляется.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699339
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

"Дорогие учёные. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит"(c)

Извиняюсь, конечно, но удержаться было невозможно...
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699341
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010 ...раз в год происходит обрезка базы - очищаются все таблицы, кроме справочников, остатки переносятся вручную через файл Excel...
... на точках включение логов нецелесообразно так как и там все работает медленно ...вам бы не пропажей строк заниматься, а чем-то более насущным - пересмотреть архитектуры системы, подумать над вопросами оптимизации, как кода приложения, так и бизнес процессов на предприятии...
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699347
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

прежде всего проверяй свою обрезку. Потому что само по себе ничего удалится не может.

Какая к чёрту переиндексация? По идее она может происходить только сразу после обрезки, и то если вы сами её запустили. В других случаях она на фиг не упала.

Ещё могу предположить что одна из ваших ХП написана криво или приложение написано криво. Например написано так что в некоторых случаях может затрагивать строки которые затрагиваться не должны. И это очень даже вероятно судя по стилю написания SQL который вы здесь выкладывали.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699348
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна, спасибо за "добрые советы". Вопрос задан исключительно конкретный, не занимайтесь флудом. Берите пример с CyberMax, предлагайте по существу проблемы, либо таки удерживайтесь.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699353
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, в том то и дело, я не зря написал, что первый документ с этой первой строкой точно не перепроводился в большинстве точек. А ХП вызываемых по дате в БД нет. А если бы была виновата ХП, ответственная за удаление, то непонятно, почему такое случается только один раз и только в одном самом первом документе.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699358
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

потому что запрос типа

Код: sql
1.
select first 1 ... from ... where ...



без order by в ряде случаев может вернуть случайную строку. Я бы не стал делать такие предположения, но ваш предыдущий код говорит, что такое вполне вероятно.

Ищи зависимости этой таблицы и проверяй весь код связанный с ней.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699361
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

Вы слишком агрессивно настроены для человека, нуждающегося в помощи. так распугаете всех желающих помогать вам.

Конкретные советы даны были - пересмотреть архитектуру системы, оптимизировать работу узких мест.

Поверьте, СУБД писали куда более грамотные специалисты, чем вам кажется. Если бы дело было в ней, пострадавших было бы больше, чем только вы один.
Следовательно, как бы вам не хотелось бы этого слышать, но проблема - в вашем приложении. Вот его и "копайте".
"Дорого" включать журналирования? Живите с проблемой, если это дешевле. Медленно работает? Ускоряйте.
Какие ещё советы вы ожидали услышать?
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699364
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

Добавлю еще, что политика создания триггеров BEFORE DELETE, которые проверяют дату и возможность удаления документов, себя полностью оправдывает. Сработка проверок типа:
Код: sql
1.
2.
IF ((OLD."ПРОВЕДЕН" IS TRUE) OR (OLD."ПериодУчета" < "ОТКРЫТЫЙ ПЕРИОД")) THEN
    EXCEPTION EXC$DELETE_DENIED "Попытка удаления проведенного документа или находящегося в закрытом периоде.");


избавляет от подобных проблем навсегда.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699366
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна, тут отвечают в основном одни и те же люди, с очень высокой квалификацией. И никто из них, тем не менее, в ответ на конкретный вопрос не пишет - меняйте архитектуру системы. То есть по вашему я должен из-за этой одной ошибки переписать тысячи строк кода, написанного до меня, и вполне работоспособного на протяжении многих лет? Если это конечно не троллинг, то мягко говоря не очень умный совет.
Далее, если я и настроен агрессивно, то только к вам. Когда критикуют по существу, не вопрос. Но перечитайте снова первых два своих ответа - где тут желание помочь?
Так что просто попрошу вас не комментировать более что-либо в моих темах.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699367
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Вы тут капитана Очевидность изображаете или троллите? Поговорить не с кем?
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699370
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxЯ бы повесил триггер BEFORE DELETEКто сказал, что там не UPDATE ?
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699372
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, все понимаю (пытаюсь по крайней мере). Не понимаю одного - ну хорошо, в коде ошибка. Но почему же она проявляется один только раз, с одной и той же строкой, в одной и то же таблице и только раз в год. Странно как-то.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699376
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

ну вообще-то и БД всякое может случится. Но если ТС намекает на порчу файла базы данных, например битый индекс, то обычно там симптомы совсем иные нежели пропажа конкретно первой строки.

В данном случае 99% что проблема в логике приложения или PSQL кода. Ещё 0.9% оставляю на то, что ТС наткнулся на проблемы со стабильностью курсора.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699377
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CyberMax, ок, спасибо, так наверно и придется делать
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699380
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladCyberMaxЯ бы повесил триггер BEFORE DELETEКто сказал, что там не UPDATE ?
Меняется содержимое строки на другое и строка как бы "удаляется"? Возможно. Тогда триггер BEFORE INSERT UPDATE DELETE спасет отца русской демократии.

Симонов ДенисВ данном случае 99% что проблема в логике приложения или PSQL кода. Ещё 0.9% оставляю на то, что ТС наткнулся на проблемы со стабильностью курсора.
Денис, у него 2.5. Так что 100% :).
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699383
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

ну как раз в 2.5 проблемы со стабильностью курсора есть, а в 3.0 она исправлена. Поэтому и оставил 0.9%, хотя надо было 0.1%. Но наткнуться на неё в 2.5 ещё надо уметь, это надо очень специфические запросы/ХП писать.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699390
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxЩукина Анна,

Вы тут капитана Очевидность изображаете или троллите? Какой капитан? Бог с вами... До младшего лейтенанта бы дотянуть (и да, на всякий случай, я в курсе, что такое звание упразднили).

З.Ы.
Считайте, что это моё личное психологические исследования на около АйТишную тему. Можете называть троллингом, если вам такой термин ближе к понимаю..
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699391
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010То есть по вашему я должен из-за этой одной ошибки переписать тысячи строк кода, написанного до меня, и вполне работоспособного на протяжении многих лет? Если это конечно не троллинг, то мягко говоря не очень умный совет.
судя по "прекрасному" запросу из вашей последней темы, в вашей БД полный ахтунг с кодом.
Поэтому достаточно неумно жаловаться на советы переделать кривые места. Да, у вас где-то там в триггере удаляются лишние записи. Да, всю эту фигню надо пересмотреть.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699392
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010попрошу вас не комментировать более что-либо в моих темах.но у меня же остается право проигнорировать вашу просьбу? ;)
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699398
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010Не понимаю одного - ну хорошо, в коде ошибка. Но почему же она проявляется один только раз, с одной и той же строкой, в одной и то же таблицеПотому что нет другой такой строки.
арт2010и только раз в годПотому что такая строка создаётся раз в год.
арт2010Странно как-тоИ не говори...
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699399
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисНо если ТС намекает на порчу файла базы данных, например битый индекс, то...нужно запускать валидацию. Причём до и после подозрительной операции.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699488
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv, какие конкретно кривые места в данном случае, если их может быть несколько десятков - десятки ХП в БД + херова туча delete и update на клиенте? Во вчерашней теме согласен - там был конкретный запрос и такой совет можно было бы дать, и то относительно одного конкретного запроса. В данном же случае очевидно что размер проблемы несопоставим с предложением поменять внезапно всю архитектуру ;) В общем предлагаю тему закрыть во избежании флуда, нужные советы уже получены.
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699555
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010какие конкретно кривые места в данном случае, если их может быть несколько десятков -
десятки ХП в БД + херова туча delete и update на клиенте?

Вот все их и проверяй. Или, как уже сказали, завели триггер, запрещающий удаление и потом
слушай откуда раздадутся вопли.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Необъяснимое удаление первой строки в одной из таблиц БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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