Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb / 15 сообщений из 15, страница 1 из 1
16.01.2016, 13:53
    #39148763
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
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
16.01.2016, 15:10
    #39148773
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
Таблоид,


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
18.01.2016, 17:07
    #39149930
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
Таблоид,

внезапно NOT SIMILAR TO

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

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

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

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

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

2) соотв. мою опухоль если тда вставлять - то обюр. слэши надо аккуратно задваивать, что впрочем из скрипта не сложно
...
Рейтинг: 0 / 0
02.02.2016, 09:38
    #39160727
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
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
02.02.2016, 10:34
    #39160788
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
Таблоиднужно обязательно делать рестарт ФБПодробнее давай - что делаешь, как запускаешь трейс и т.д.
...
Рейтинг: 0 / 0
02.02.2016, 13:42
    #39161034
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trace config: как разрешить в нём показ д-вий для всех баз, ЗА ИСКЛЮЧЕНИЕМ securityN.fdb
hvladТаблоиднужно обязательно делать рестарт ФБПодробнее давай - что делаешь, как запускаешь трейс и т.д.Блин, это не конфиг трейса виноват был. Трейс просто не стал показывать того, чего не было (гы... :)).

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


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