Get_server_info

c/c++pascalsql

BOOL WINAPI [cd_]Get_server_info(cdp_t cdp, int info_type, void * buffer, unsigned buffer_size);
function [cd_]Get_server_info(cdp : cdp_t; info_type : integer; var buffer; buffer_size : integer) : Boolean;
function Get_server_info(IN info_type INT) returns INT;

Parametry

info_type číslo požadované informace
buffer proměnná pro vrácení dat
buffer_size velikost prostoru v buffer v bajtech
cdp kontextová proměnná klienta

Od verze

7.0, doplnováno průběžně

Hodnota funkce

Funkce volaná klientem vrací FALSE v případě úspěchu, TRUE při chybě. Funkce volaná z SQL vrací přímo požadovaná data.

Popis

Funkce získá z SQL serveru informaci označenou parametrem info_type, resp. jejím číslem. Je-li volaná klientem, zapíše informaci do proměnné buffer. Je-li buffer_size příliš malé na požadovanou informaci, dojde k chybě. V jazyce SQL lze funkci volat pouze pro zjištění číselných hodnot (nemůže např. vrátit jméno serveru nebo obsah logu).

info_type číslo druh informace
OP_GI_SERVER_PLATFORM 0 platforma SQL serveru (0-Windows, 2-Linux)
OP_GI_LICS_CLIENT 2 počet klientských licencí
OP_GI_LICS_FULLTEXT 4 je aktivováno rozšíření pro Fulltext? 1=ano, 0=ne
OP_GI_INST_KEY 6 instalační klíč serveru (vrací řetězec, nelze v SQL)
OP_GI_SERVER_LIC 7 licenční číslo serveru (vrací řetězec, nelze v SQL)
OP_GI_TRIAL_ADD_ON 8 přidány dočasné testovací add-on licence (0 nebo 1)
OP_GI_VERSION_1 10 první část čísla verze serveru
OP_GI_VERSION_2 11 druhá část čísla verze serveru
OP_GI_VERSION_3 12 třetí část čísla verze serveru
OP_GI_VERSION_4 13 čtvrtá část čísla verze serveru (měsíc a den)
OP_GI_PID 14 číslo procesu SQL serveru v prostředí operačního systému
OP_GI_SERVER_NAME 15 jméno serveru (vrací řetězec, nelze v SQL)
OP_GI_DISK_SPACE 16 volné místo na disku s databázovým souborem
OP_GI_CLUSTER_SIZE 17 velikost clusteru v databázovém souboru
OP_GI_LICS_USING 18 počet licencí využitých připojenými klienty
OP_GI_OWNED_CURSORS 19 počet kurzorů otevřených klientem
OP_GI_FIXED_PAGES 20 počet fixovaných diskových stránek
OP_GI_FIXES_ON_PAGES 21 počet fixací na diskových stránkách
OP_GI_FRAMES 22 počet rámů pro diskové stránky
OP_GI_FREE_CLUSTERS 23 počet nevyužitých clusterů v databázovém souboru
OP_GI_USED_MEMORY 24 pracovní paměť (v bajtech) využívaná serverem
OP_GI_TRIAL_REM_DAYS 25 zbývající počet dnů platnosti TRIAL licence
OP_GI_INSTALLED_TABLES 30 počet instalovaných tabulek
OP_GI_LOCKED_TABLES 31 počet držených tabulek
OP_GI_TABLE_LOCKS 32 počet držáků tabulek
OP_GI_TEMP_TABLES 33 počet dočasných tabulek
OP_GI_OPEN_CURSORS 34 počet všech otevřených kurzorů
OP_GI_PAGE_LOCKS 35 počet zámků na celých diskových stránkách
OP_GI_LOGIN_LOCKS 36 počet zámků, kterými je zamčen server (0=není zamčen, >0 je zamčen)
OP_GI_CLIENT_NUMBER 37 číslo klienta, který volá tuto funkci, viz funkci client_number
OP_GI_BACKGROUD_OPER 38 příznak, jsou-li povoleny procesy na pozadí; 1=povoleny, 0=nepovoleny
OP_GI_SYS_CHARSET 39 systémový jazyk (sada znaků) serveru; tabulka s kódy je zde
OP_GI_MINIMAL_CLIENT_VERSION 40 minimální verze klienta, která je vyžadována serverem, aby nedošlo při připojení k chybě KSE_CLIENT_SERVER_INCOMP
OP_GI_SERVER_UPTIME 41 doba (ve vteřinách) od spuštění SQL serveru
OP_GI_PROFILING_ALL 42 příznak, je-li zapnuto profilování všech vláken; 1=zapnuto, 0=vypnuto
OP_GI_PROFILING_LINES 43 příznak, je-li zapnuto profilování řádků rutin; 1=zapnuto, 0=vypnuto
OP_GI_SERVER_HOSTNAME 44 IP hostname SQL serveru
OP_GI_HTTP_RUNNING 45 příznak, je-li na serveru aktivní HTTP tunelování síťové komunikace; 1=zapnuto, 0=vypnuto
OP_GI_WEB_RUNNING 46 (od verze 10) příznak, je-li na serveru aktivní emulace webserveru; 1=zapnuto, 0=vypnuto
OP_GI_NET_RUNNING 47 příznak zapnutí síťového protokolu TCP/IP na serveru ; 1=zapnuto, 0=vypnuto
OP_GI_IPC_RUNNING 48 pouze na Windows; příznak zapnutí protokolu IPC (interní meziprocesorová komunikace) na serveru, ; 1=zapnuto, 0=vypnuto
OP_GI_BACKING_UP 49 indikace, probíhá-li zálohování databázového souboru: 0=neprobíhá záloha, 1=neblokující záloha, 2=blokující záloha
OP_GI_CLIENT_COUNT 50 počet aktuálně připojených klientů
OP_GI_RECENT_LOG 51 aktuální obsah základního logu (vrací text, nelze v SQL); max. velikost je nastavena vlastností serveru TraceLogCacheSize
OP_GI_LICS_XML 52 je aktivováno XML rozšíření? 1=ano, 0=ne

Příklad:

Použití v SQL proceduře:

PROCEDURE `PLATFORM`(  );
BEGIN
  IF Get_server_info(0) = 0 THEN
    CALL Log_write("Windows");
    // volání procedury pro Windows
  ELSE
    CALL Log_write("Linux");
    // volání odlišné procedury pro Linux
  END IF;
END