powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получение архитектуры FB2.5 запросом
6 сообщений из 6, страница 1 из 1
Получение архитектуры FB2.5 запросом
    #39053903
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток,

понятно можно глянуть строку запуска сервиса
а если возможен только SQL запрос, возможно определить?
чет нигде ответа не нашел, только аналогичные вопросы.

Спасибо
...
Рейтинг: 0 / 0
Получение архитектуры FB2.5 запросом
    #39053913
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

нету такого. Таблоид давно просит уже.

Супер вычислить можно по косвенным признакам.
...
Рейтинг: 0 / 0
Получение архитектуры FB2.5 запросом
    #39053921
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисMikhail Tchervonenko,

нету такого. Таблоид давно просит уже.

Супер вычислить можно по косвенным признакам.

например? если не затруднительно
...
Рейтинг: 0 / 0
Получение архитектуры FB2.5 запросом
    #39053991
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

упс. Это 2.5. Тогда хз.

В 3.0 можно догадаться по двум дополнительным коннектам в mon$attahments:
1. Cache Write
2. Garbage Collector
...
Рейтинг: 0 / 0
Получение архитектуры FB2.5 запросом
    #39054014
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у SC/CS в mon$*_stats для строки с mon$stat_group = 0 все счетчики будут нулевые (ибо нет общего кеша)
...
Рейтинг: 0 / 0
Получение архитектуры FB2.5 запросом
    #39054275
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делаю так:
Код: 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.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
set term ^;
create or alter procedure sys_get_fb_arch (
    a_current_user_pswd varchar(31) = 'masterkey'
)
returns (
    fb_arch varchar(2))
as
    declare cur_server_pid int;
    declare ext_server_pid int;
    declare fetches_db0 bigint;
    declare end_fetches1 bigint;
    declare v_dummy_role varchar(31);
begin
    
    -- Aux SP for detect FB architecture. Caller must specify his own password when invoke this SP!
    -- Samples:
    -- 1) For SYSDBA, with suppose that env. variables ISC_USER & ISC_PASSWORD does exist
    -- and ISC_PASSWORD = masterkey, - invoking can be w/o specifying password:
    -- echo set list on; select * from sys_get_fb_arch; | isql /3333:database_alias
    -- 2) For non-privileged user:
    -- SQL> create user u01 password '123';
    -- SQL> grant execute on procedure sys_get_fb_arch to u01;
    -- SQL> exit;
    -- C:\> echo set list on; select * from sys_get_fb_arch('123'); | isql /3333:database_alias -u u01 -pas 123

    select a.mon$server_pid from mon$attachments a
    where a.mon$attachment_id = current_connection
    into cur_server_pid;

    select i.mon$page_fetches
    from mon$io_stats i
    where i.mon$stat_group = 0  -- db_level
    into fetches_db0;

    v_dummy_role = left('R'||replace(uuid_to_char(gen_uuid()),'-',''), 31);

    execute statement 'select a.mon$server_pid + 0*(select count(*) from rdb$types,rdb$types) from mon$attachments a where a.mon$attachment_id = current_connection'
    on external 'localhost:' || rdb$get_context('SYSTEM', 'DB_NAME')
    as
        user current_user
        password a_current_user_pswd
        role :v_dummy_role -- this will force FB to create NEW attachment.
    into ext_server_pid;

    in autonomous transaction do
    select i.mon$page_fetches
    from mon$io_stats i
    where i.mon$stat_group = 0  -- db_level
    into end_fetches1;

    fb_arch = iif( cur_server_pid is distinct from ext_server_pid, 
                   'CS', 
                   iif( fetches_db0 is not distinct from end_fetches1, 
                        'SC', 
                        'SS'
                      ) 
                 );
    suspend;

end
^
set term ;^
commit;
(и пусть меня все тутошние монстры бить начнут за показ вредного кода, но по-другому не получилось :)).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получение архитектуры FB2.5 запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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