Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получение архитектуры FB2.5 запросом / 6 сообщений из 6, страница 1 из 1
17.09.2015, 14:08
    #39053903
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение архитектуры FB2.5 запросом
Доброе время суток,

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

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

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

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

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

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

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

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

В 3.0 можно догадаться по двум дополнительным коннектам в mon$attahments:
1. Cache Write
2. Garbage Collector
...
Рейтинг: 0 / 0
17.09.2015, 15:13
    #39054014
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение архитектуры FB2.5 запросом
у SC/CS в mon$*_stats для строки с mon$stat_group = 0 все счетчики будут нулевые (ибо нет общего кеша)
...
Рейтинг: 0 / 0
17.09.2015, 18:02
    #39054275
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение архитектуры FB2.5 запросом
я делаю так:
Код: 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
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получение архитектуры FB2.5 запросом / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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