|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Всем доброго дня, согласно доке id процесса CLIENT_PID был добавлен в RDB$GET_CONTEXT начиная с версии 2.5.3. Есть ли возможность получить его в версиях ниже 2.5.3 но не ниже 2.1? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:26 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Да. Бэкпортируй соответствующий коммит и используй эту свою собственную сборку. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:31 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Да. Бэкпортируй соответствующий коммит и используй эту свою собственную сборку. в этом случае проще обновиться до 2.5.9. Речь идёт о клиентских машинах (которых много, и на некоторых по моей информации встречается ещё версия 2.5.1 а возможно и 2.1 хотя конечно 2.1 маловероятна). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:42 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Заставь своё приложение устанавливать переменную со своим PID. Костыль как раз в твоём духе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:46 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Заставь своё приложение устанавливать переменную со своим PID. Костыль как раз в твоём духе. тут как раз попытка уйти от правки всех модулей, а это как раз и потребует сей правки. Я так понимаю иначе никак PID не получить потому что его физически в 2.5.1 нигде нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:56 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
hlopotun, есть 2 момента. В суб-релизе 2.5.3 были добавлены переменные SYSTEM::CLIENT_PID and SYSTEM::CLIENT_PROCESS. Но это переменные. А так те же значения должны быть в столбцах mon$attachments - MON$REMOTE_PID (remote client process ID) - MON$REMOTE_PROCESS (remote client process pathname) Эти столбцы есть и в 2.1 (точно). Другое дело, что если эти столбцы есть, но они пустые, то это значит что клиентская либа древняя, которая эти данные серверу передавать не умеет (до версии 2.1). Либо, эти столбцы не заполняются при коннектах из .net и Java (т.к. к серверу они лезут сами, а авторы этих драйверов как-то игнорируют эти данные). Так что - на сервере ты указанные переменные можешь получить в 2.5.3, не раньше. Или можешь получить эти данные из mon$, хоть с 2.1. А вот заполняет эти данные с клиентской стороны только клиент 2.1, не меньше. Как-то так. p.s. по идее, CLIENT_PID и CLIENT_PROCESS могут заполняться не так как mon$, поэтому обращение к ним менее влияет на производительность, чем заполнение mon$ при первом обращении в транзакции. Но тут я не в курсе конкретной реализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 13:40 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
kdv, спасибо за обстоятельный ответ. Вариант с mon$attachments вполне подходит. Клиентская либа там точно правильная и из .net или Java тоже точно нет. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 13:57 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
hlopotunВариант с mon$attachments вполне подходит. тут надо быть бдительным - не дрюкать слишком часто, а то на 2.5 и тем более на классике может просаживать (в момент сбора данных mon$). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 14:50 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
kdv Либо, эти столбцы не заполняются при коннектах из .net и Java (т.к. к серверу они лезут сами, а авторы этих драйверов как-то игнорируют эти данные). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:09 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
kdv hlopotunВариант с mon$attachments вполне подходит. тут надо быть бдительным - не дрюкать слишком часто, а то на 2.5 и тем более на классике может просаживать (в момент сбора данных mon$). т.е. лучше создать GTT уровня соединения с базой в триггере соединения, запихать туда IP и PID один раз и таскать их оттуда в рамках этого соединения? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:26 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
hlopotun, зачем? Пиши через RDB$SET_CONTEXT в переменную уровня сессии ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:27 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
hlopotun, rdb$set_context('USER_SESSION', 'PID', ....) rdb$set_context('USER_SESSION', 'IP', ....) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:28 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Шавлюк Евгений hlopotun, rdb$set_context('USER_SESSION', 'PID', ....) rdb$set_context('USER_SESSION', 'IP', ....) и это будет работать в 2.5.1? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:30 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
hlopotun, Сколько времени надо чтобы проверить? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:31 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
Шавлюк Евгений hlopotun, Сколько времени надо чтобы проверить? sorry, в доке: Эти функции были добавлены в Firebird в версии 2.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:33 |
|
Как получить RDB$GET_CONTEXT ('SYSTEM','CLIENT_PID') в Firebird версии ниже 2.5.3?
|
|||
---|---|---|---|
#18+
hlopotun создать GTT уровня соединения с базой в триггере соединения Надеюсь это был просто поток сознания бессознательного. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 16:32 |
|
|
start [/forum/topic.php?fid=40&fpage=3&tid=1559906]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 156ms |
0 / 0 |