powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
15 сообщений из 15, страница 1 из 1
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39148763
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Поможыте, плз: устал я от борьбы с этим similar-to, капризный он зело... :-/

Всем давно известно, что в заголовке конфига трейса надо указывать вот это:

Код: plaintext
( %[\\/]шаблон-имён- файлов  | шаблон- алиасов  )

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

А теперь обратная задача: надо показывать активность по любым файлам/алиасам, за исключением действий над securityN.fdb.

Как это сделать ?

Не взлетает что-то каменный горошок:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SQL> select 1 from rdb$database where 'c:\fb30\severity3.fdb' similar to '%([\\]security3.fdb)';
Records affected: 0
SQL> select 1 from rdb$database where 'c:\fb30\security3.fdb' similar to '%([\\]security3.fdb)';

    CONSTANT
============
           1

SQL> select 1 from rdb$database where 'c:\fb30\security3.fdb' similar to '%(^[\\]security3.fdb)';

    CONSTANT
============
Statement failed, SQLSTATE = 42000
Invalid SIMILAR TO pattern
Records affected: 0

SQL> select 1 from rdb$database where 'c:\fb30\security3.fdb' similar to '[^%([\\]security3.fdb)]';

    CONSTANT
============
Statement failed, SQLSTATE = 42000
Invalid SIMILAR TO pattern
Records affected: 0
SQL> select 1 from rdb$database where 'c:\fb30\security3.fdb' similar to '^%([\\]security3.fdb)';

    CONSTANT
============
Statement failed, SQLSTATE = 42000
Invalid SIMILAR TO pattern
Records affected: 0
SQL>
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39148773
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,


README.trace_servicesExamples

I. Sample configuration files for user trace sessions:
...
c) Trace connections and transactions in all databases except of security database

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<database>
	enabled			true
	log_connections		true
	log_transactions	true
</database>

<database security2.fdb>
	enabled			false
</database>
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149930
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

внезапно NOT SIMILAR TO

http://www.firebirdsql.org/refdocs/langrefupd25-similar-to.html
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149947
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, интересно, поскольку в SQL "NOT" заложен явно, то отрицание внутри reg-ex'a не стали закладывтаь вообще
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149970
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

отрицание там как раз заложено, но для символов, а для групп не работает
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149981
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, впрочем, придумал как сделать такой reg-ex, тольк оруками я его делать не буду.
Если кому надо - пусть скриптом генерят. А уж как его читать я вообще ХЗ.

Императивное программирование + разворачивания циклов
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select 1 from rdb$database
where  'c:\fb30\security1.fdb' similar to '%\((security[^0-9\])|(securit[^y\])|(securi[^t\])|(secur[^i\])|(secu[^r\])|(sec[^u\])|(se[^c\])|(s[^e\])|([^sS\]))[^\]*.fdb'

NULL

select 1 from rdb$database where  'c:\fb30\seVErity1.fdb' similar to ...

1

select 1 from rdb$database where  'c:\fb30\seCUrity1.fdb' similar to ...

1

select 1 from rdb$database where  'c:\fb30\secur.fdb'  similar to ...

NULL



Первые два выхова работают как надо.

В 3-м показан залёт с case sensitivity, надо формулировать группы как например
Код: sql
1.
([Ss][Ee][Cc][^Uu\)|



В 4-м показан залёт с обрезанием имени, при всех существующих символах совпадающих.
Для исправления нужно "[^\]*.fdb" заносить внутрь скобок, размножить внутрь каждой группы

И тогда будет работать. Но я руками такой регекс писать не буду, любители скриптов сделают сами
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149984
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> внезапно NOT SIMILAR TO

Внезапно это не SQL, а конфиг.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149988
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

ты опоздал ровно на час
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149990
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и до кучи, судя по
Код: plaintext
% [\\/] my_database.fdb
в этой строке конфига искейп-символ установлен в обратный слэш
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39149994
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чёрт, не туда ткнул

1) ...и этот факт видимо, не задокументирован. :-/

2) соотв. мою опухоль если тда вставлять - то обюр. слэши надо аккуратно задваивать, что впрочем из скрипта не сложно
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39160727
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladREADME.trace_servicesExamples

I. Sample configuration files for user trace sessions:
...
c) Trace connections and transactions in all databases except of security database

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<database>
	enabled			true
	log_connections		true
	log_transactions	true
</database>

<database security2.fdb>
	enabled			false
</database>

Проверил - спс, работает.
Забавно, однако, что после добавления вот такой секции в конфиг трейса:
Код: plaintext
1.
2.
3.
4.
database = %[\\/]security3.fdb
{
  enabled = false
}
- нужно обязательно делать рестарт ФБ. Иначе лог трейса будет только содержать attach/detach сообщения, и больше ничего:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Trace session ID 25 started
2016-02-02T09:34:34.2360 (7252:00C41820) TRACE_INIT
        SESSION_25


2016-02-02T09:34:34.2360 (7252:00C41820) ATTACH_DATABASE
        e30 (ATT_16, SYSDBA:NONE, NONE, TCPv4:127.0.0.1/3534)
        C:\Python27\python.exe:1096

2016-02-02T09:34:34.2670 (7252:00C41820) DETACH_DATABASE
        e30 (ATT_16, SYSDBA:NONE, NONE, TCPv4:127.0.0.1/3534)
        C:\Python27\python.exe:1096

2016-02-02T09:34:34.2670 (7252:00C41820) TRACE_FINI
        SESSION_25
- хотя весь конфиг требует регистрации гораздо бОльшего:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
database =
{
  enabled = true
  log_filename = /opt/fb30cs/ztrace.log
  log_sweep = true
  log_errors = true

  ####################   A C H T U N G  ##############
  
  time_threshold = 0

  exclude_filter = %execute block%

  #exclude_filter= %(statistics|rdb$indices|alter index)%
  #include_filter = %(v_min_id|v_max_id|v_random)%
  #include_filter = %(v_random)%

#  connection_id=428

  ####################################################

  log_connections = true
  log_transactions = true

#  log_context = true

  log_statement_prepare = true
  log_statement_start = true

  log_statement_finish = true

#  log_statement_free = true
#  log_trigger_start = true

  log_procedure_start = true
  log_procedure_finish = true

#  log_function_finish = true
#  log_trigger_finish = true

#  print_plan = true
#  explain_plan = true

  print_perf = true

  max_sql_length = 16384
  max_log_size = 5000000
}

database = %[\\/]security3.fdb
{
  enabled = false
}

И такое поведение не зависит от того, "в куда" добавили секцию с запретом для sec3.fdb - в верх или в подвал конфига.
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39160788
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоиднужно обязательно делать рестарт ФБПодробнее давай - что делаешь, как запускаешь трейс и т.д.
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39161034
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоиднужно обязательно делать рестарт ФБПодробнее давай - что делаешь, как запускаешь трейс и т.д.Блин, это не конфиг трейса виноват был. Трейс просто не стал показывать того, чего не было (гы... :)).

Оказалось, что свип стартует для тех двух вариантов (CS & SS), что расписаны в этом топике, только... ОДИН раз, если делать коннект _не_ isql'ем, а python'ом! Эту тему продолжу там же, где она вспыхла.
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39161122
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидБлин, это не конфиг трейса виноват был. Трейс просто не стал показывать того, чего не было (гы... :)).Почему я не удивлён ? :)
...
Рейтинг: 0 / 0
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
    #39161126
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидБлин, это не конфиг трейса виноват был. Трейс просто не стал показывать того, чего не было (гы... :)).Почему я не удивлён ? :)Потому что ты и так всё заранее знаешь. Но тут не все такие... :-)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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