powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Необъяснимое удаление первой строки в одной из таблиц БД
30 сообщений из 30, показаны все 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
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699564
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010kdv, какие конкретно кривые места в данном случае, если их может быть несколько десятков - десятки ХП в БД + херова туча delete и update на клиенте?депенденсы в эксперте все есть. На клиенте поиском по файлам. Когда адаптировал код под трешку я кривой код в сотнях мест перетряхивал, эка невидаль - десятки. :) Пилите, Шурочка, пилите... (с).
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699568
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyПилите, Шурочка, пилите... (с).

А потом окажется, что "очень большое начальство" раз в год объезжает точки с "инспекцией"
и собственноручно тыкает в "самую главную кнопку" потому что "так надо". И, случайно, эта
кнопка окажется кнопкой удаления записи на которой стоит курсор (а он стоит на первой).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699593
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovсобственноручно тыкает в "самую главную кнопку"

Кстати, никакой анализ кода не выявит случай когда пользователь путает кнопку-крестик
закрытия окна с кнопкой-крестиком удаления записи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699600
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКстати, никакой анализ кода не выявит случай когда пользователь путает кнопку-крестик
закрытия окна с кнопкой-крестиком удаления записи.Ага, раз год. Притянуто за уши для "потрындеть".
...
Рейтинг: 0 / 0
Необъяснимое удаление первой строки в одной из таблиц БД
    #39699701
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovDimitry Sibiryakovсобственноручно тыкает в "самую главную кнопку"

Кстати, никакой анализ кода не выявит случай когда пользователь путает кнопку-крестик
закрытия окна с кнопкой-крестиком удаления записи.


А у меня для удаления кнопка "Мусорный контейнер" .
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Необъяснимое удаление первой строки в одной из таблиц БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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