powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Логирование изменений записи
25 сообщений из 86, страница 3 из 4
Логирование изменений записи
    #39562624
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11Тогда нужен триггер/событие, который будет определять, что структура целевой таблицы изменилась, например, добавилось поле или удалено поле. Чтобы сочинить новое тело триггера для логирования.

Есть такой триггер - называется разработчик БД!
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562627
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Тогда нужен триггер/событие, который будет определять, что структура целевой таблицы изменилась, например, добавилось поле или удалено поле. Чтобы сочинить новое тело триггера для логирования.

DDL триггеры в 3.0
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562629
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, да, надо покурить эту тему.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562634
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11да, надо покурить эту тему.

В трезвом состоянии - не советую, это очень неприятная трава.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562635
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Тогда нужен триггер/событие, который будет определять, что структура целевой таблицы изменилась, например, добавилось поле или удалено поле. Чтобы сочинить новое тело триггера для логирования.
Это уже дичайший гон.
У тебя что, сами собой структуры таблиц меняются?
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562645
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,
ты, конечно же, знаешь о том, что объекты в БД могут быть зависимыми. К примеру, ты не сможешь удалить поле в табличке, если это поле явно используется в процедуре или в триггере. Не даст тебе СУБД.
Т.е, "просто так" менять структуру табличек не получится.
Только предварительно "загасив" все зависимости.

Сие часто делается с помощью специально сгенерированного специальными инструментами специального скрипта. Во время генерации которого вполне можешь заодно и синхронизировать твои триггеры.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562646
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, тогда нужно так, как я хотел изначально. Просто в цикле по полям записывать всё в BLOB
поле=значение
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562647
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД, если программа применяет скрипт обновления структуры базы.
Не обязательно программа/база в единственном экземпляре. Есть же и коробочное ПО.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562648
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД, про зависимости знаю.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562653
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,
вот именно насчёт коробочного. Неужели у тебя пользователи самовольно, минуя твои инструменты, имеют право корежить структуру базы? Если все же "да", то пусть у них голова о логировать и болит, раз такие ушлые.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562661
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Симонов Денис, да, надо покурить эту тему.
Если ты хочешь на лету менять из одного триггера другие - лучше не рассказывай здесь об этом.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562667
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

нет конечно. Но оповестить систему что нужный нам триггер требует пересборки/перекомпиляции можно.
Я делал PSQL пакет который автоматически генерирует скрипты для логирующих триггеров (но не выполняет их). Он использует таблицу в которой хранится какие таблицы надо логировать. Так вот DDL триггер может сделать пометку в этой таблице, что триггер надо пересоздать.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562669
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДНеужели у тебя пользователи самовольно, минуя твои инструменты, имеют право корежить структуру базы?

нет, но если устанавливается обновление...
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562672
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис прав. Создание / изменениетермометров тренерами, это без бутылки тяжело...
На какое событие писать триммеры? А если оно не наступит? Например, не дропнешь и не изменишь поле если оно используется в триггерах
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562673
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините, с телефона пишу
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562680
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос касается производительности.
Есть 3 основных типа события: добавление, удаление, изменение.
Как лучше их хранить в базе? В виде текстового поля или целого числа?
С тем учетом, что на клиенте тоже нужно выводить пользователю на экран/экспорт/печать в понятном виде, а не в виде числа или слова "INS/UPD/DEL"?
Может так и хранить: "Добавление/Изменение/Удаление"? Зато на клиенте не придётся ничего "конвертировать".
С др. стороны вместо числа можно легко подставить значок из ImageList.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562685
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11,

Сначала надо курить хранение и отображение данных. Потом что-нибудь Про реляционные базы. Потом задавать вопросы.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562700
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Просто в цикле по полям записывать всё в BLOB поле=значениеЭто похоже не лечится... пациент упорно целится себе в ногу. Представь блоб на пару десятков гиг с такими парами значений. Ты ж утонешь на его анализе. Блин, имея под рукой СУБД пихать все в блоб как минимум глупо. Блоб это некая неделимая сущность, ну картинка или видеоролик.

Автору читать букварь про нормализацию и самый первый шаг, распределение сущностей по полям таблиц.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562710
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky Представь блоб на пару десятков гиг с такими парами значений. Ты ж утонешь на его анализе.

Да ладно... Все еще до анализа умрет, на добавлении очередных записей протокола в блоб :)
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562714
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то вроде такого (это грубо в blob)
тело процедуры
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
BEGIN
  S = '';// blob
  CRLF = ASCII_CHAR(10);

  FOR SELECT F.RDB$FIELD_NAME FROM RDB$RELATION_FIELDS F WHERE UPPER(F.RDB$RELATION_NAME) = UPPER(:TABLENAME) AND F.RDB$FIELD_NAME IS NOT NULL INTO :FNAME
  DO
  BEGIN

    IF (S = '') THEN
      S = S || :FNAME || ' = ';
    ELSE
      S = S || :CRLF || FNAME || ' = ';

  END

  INSERT INTO JOURNAL (JOURNAL.ID_OBJ, JOURNAL.DATA) VALUES(:ID_OBJ, :S);
END



Примерно такое я где-то давно видел, как писал ранее.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562719
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyТы ж утонешь на его анализе

анализ заключается в том, чтобы найти найти в логе по ID нужный объект и посмотреть значения полей
Код: plaintext
1.
2.
date= ...
price = ...
remark = ...

вот я и пытаюсь сделать какой-нибудь приемлемый формат.
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562722
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11вот я и пытаюсь сделать какой-нибудь приемлемый формат.

А просто посмотреть, как в том же эксперте это сделано, и допилить под себя - не судьба?
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562725
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.12.2017 17:07, IBExpert пишет:
> А просто посмотреть, как в том же эксперте это сделано, и допилить под себя - не судьба?

не взлетит.
тут программист нужен (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562738
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, бе-бе-бе
...
Рейтинг: 0 / 0
Логирование изменений записи
    #39562742
sonkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

Я еще в начале страницы это сказал.Для БД разработчик нужен.
...
Рейтинг: 0 / 0
25 сообщений из 86, страница 3 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Логирование изменений записи
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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