|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Не нашел в MON таблицах что-либо, непосредственно указывающее на архитектуру и решил сделать отдельную ХП, но для формирования connString, опять же, необходим номера порта сервера текущего клиентского подключения. Код: plsql 1. 2. 3. 4. 5.
Кто как решал подобную задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:30 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Hello, Rdb Dev! You wrote on 6 июля 2016 г. 13:32:02: Rdb Dev> непосредственно указывающее на архитектуру и снова всё тот же вопрос: НАХРЕНА? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:32 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Боюсь даже спросить, для чего это нужно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:37 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Не успел. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:37 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_dev, нету ни в таблицах мониторинга, ни в контекстных переменных этой инфы. В тройке тоже нет. Идеально было бы если можно было считать в таблицу мониторинга текущие параметры конфигурации. Возможно в 4.0 сделают. Проще сделать UDF которая будет брать инфу из конфига, по крайней мере насчёт порта. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:39 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 6 июля 2016 г. 13:45:38: Симонов Денис> Проще сделать UDFтут программист нужен... (с) зы: проще дать уже таки ему гранату Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:46 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Симонов Денис> Идеально было бы если можно было считать в таблицу Симонов Денис> мониторинга текущие параметры конфигурации. Возможно в 4.0 сделают. Я вообще не понимаю, почему это в 3.0 не сделали, хотя бы то, что активно, без перечитывания с диска. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:47 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, задача не так проста как кажется на первый взгляд. В 3.0 параметры могут быть уровня сервера, БД и соединения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:51 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Мимопроходящийи снова всё тот же вопрос: НАХРЕНА?Для реализации UDF функций блокировок. К примеру, для SS алгоритм функции может использовать обычные атомарные функции, а для CS - глобальные объекты ОС. Что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 13:54 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_devДля реализации UDF функций блокировок. К примеру, для SS алгоритм функции может использовать обычные атомарные функции, а для CS - глобальные объекты ОС. Всегда используй "обычные атомарные функции" на общей памяти и будет тебе счастье. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:01 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Hello, Rdb Dev! You wrote on 6 июля 2016 г. 14:04:08: Rdb Dev> Для реализации UDF функций блокировок. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:07 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_dev, TIBConfigService с ФБ не работает? Я уже давно не проверял. isc_info_svc_get_config вроде должно возвращать содержимое firebird.conf. А в 3.0 там есть режим сервера. Но как я уже говорил, все это лабуда. Блокируем объект в коннекте, коннект умирает, и что дальше? Ни в какой архитектуре нельзя определить, в каком коннекте был заблокирован некий системный объект, и жив ли этот коннект или нет. Это сервер может определить, активна транзакция или нет (путем ее блокировки), а вот со всякими пользовательскими udf это не получится. "Это" - в смысле определения блокировки ресурса и его разблокирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:08 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovВсегда используй "обычные атомарные функции" на общей памяти и будет тебе счастье.CreateSharedMemory/AllocateSharedMemory? Вариант... Спасибо за подсказку! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:14 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
kdvTIBConfigService с ФБ не работает? Я уже давно не проверял. isc_info_svc_get_config вроде должно возвращать содержимое firebird.conf. А в 3.0 там есть режим сервера.Хотелось сделать чтоб работало из ХП или триггера. kdvНо как я уже говорил, все это лабуда. Блокируем объект в коннекте, коннект умирает, и что дальше? Ни в какой архитектуре нельзя определить, в каком коннекте был заблокирован некий системный объект, и жив ли этот коннект или нет.Можно еще ХП навернуть, что будет вызываться из триггеров или ХП других транзакций и проверять живучесть транзакции, заблокировавшей объекты, принудительно снимая блокировки в случае смерти этой транзакции, но видится мне, это далеко не самое красивое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:27 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Мимопроходящий, многапиксюлей. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:27 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
kdv, мне кацца, в триггерах ON TRANSACTION COMMIT/ROLLBACK не хватает контекстных переменных типа COMMITTED_TRANSACTION/ROLLEDBACK_TRANSACTION. Хотя, наличие подобных контекстных переменных всё равно никак не поможет при отрубании транзакций через 'DELETE FROM MON$ATTACHMENTS'. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:36 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_devМожно еще ХП навернуть, что будет вызываться из триггеров или ХП других транзакций и проверять живучесть транзакции, заблокировавшей объекты, принудительно снимая блокировки в случае смерти этой транзакции, но видится мне, это далеко не самое красивое решение. Что-то у меня есть подозрения, что ты бутерброт не с той стороны есть начал. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:38 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Симонов Денисзадача не так проста как кажется на первый взгляд. В 3.0 параметры могут быть уровня сервера, БД и соединения.? RDB$GET_CONTEXT ('SYSTEM' | 'USER_SESSION' | 'USER_TRANSACTION' , '<varname>') ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:43 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
DarkMasterЧто-то у меня есть подозрения, что ты бутерброт не с той стороны есть начал.Надо колбасой на язык? Рассмотрю любые варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:44 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_dev, не прокатит. Я же сказал уровня сервера, БД и коннектов. 1. Уровня БД в контекстных переменных нет 2. Коннектов много, не факт что нужно знать свои параметры Поясню. Уровня БД обозначает что параметры заданы в databases.conf, а не в firebird.conf Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:50 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_devв триггерах ON TRANSACTION COMMIT/ROLLBACK не хватает контекстных переменных типа COMMITTED_TRANSACTION/ROLLEDBACK_TRANSACTION. Чем они могут отличаться от CURRENT_TRANSACTION? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:52 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Симонов Денис1. Уровня БД в контекстных переменных нетНу, список контекстов можно и расширить. Симонов Денис2. Коннектов много, не факт что нужно знать свои параметрыА вот тут ...опа! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 14:53 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЧем они могут отличаться от CURRENT_TRANSACTION? Ничем. Это у меня глюки из-за непонятно с чего возникшей аналогии с триггерами CONNECT/DISCONNECT. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 15:07 |
|
Кто как решал задачу определения архитектуры сервера v2.5 (Classic/Superserver) из ХП?
|
|||
---|---|---|---|
#18+
rdb_devХотелось сделать чтоб работало из ХП или триггера. можно использовать такое правило - если не знаешь или не можешь определить архитектуру, то делай так, как будто это всегда классик. Не ошибешься. Тут только единственное исключение - не использовать threadvar. rdb_devи проверять живучесть транзакции, заблокировавшей объекты ты не понял, совсем. Когда сервер сталкивается с активной конкурирующей транзакцией, он пытается на нее сделать лок. Если лок успешен, значит коннект (или процесс), стартовавший эту транзакцию отвалился, и транзакцию надо перевести в роллбэк. Если не успешен - транзакция жива. Ты это из процедур, функций, udf и прочего никак не можешь выполнить аналогичную проверку, или использовать подобный механизм для проверки блокированности своих объектов (мютексов, семафоров и проч). Потому что серверу наплевать на твои объекты. А кроме активного коннекта эти объекты проверять и блокировать-разблокировать больше некому. Еще раз привожу пример: - коннект выполняет функцию блокировки мютекса - коннект (процесс) отваливается. - мютекс заблокирован, а кто его заблокировал (и жив он или нет) - неизвестно. аминь. И снять такую блокировку можно по таймауту. Но вот проблема - у мютекса нет свойства "время блокировки". rdb_devс чего возникшей аналогии с триггерами CONNECT/DISCONNECT. если процесс/коннект умер, то для него disconnect не вызовется. Подозреваю, что on rollback для такой транзакции тоже не вызовется. насчет delete from mon$attachments - тоже не вызовется ни on disconnect, ни on rollback. То есть, у тебя возникает "дыра", при которой твои объекты могут оказаться заблокированными навечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 16:01 |
|
|
start [/forum/topic.php?fid=40&msg=39268886&tid=1562091]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 153ms |
0 / 0 |