Database_integrity

c/c++pascal

BOOL [cd_]Database_integrity([cdp_t cdp], BOOL repair, uns32 * lost_blocks, uns32 * lost_dheap, uns32 * nonex_blocks, uns32 * cross_link, uns32 * damaged_tabdef);
function [cd_]Database_integrity([cdp : cdp_t]; repair : Boolean; var lost_blocks, lost_dheap, nonex_blocks, cross_link, damaged_tabdef : uns32) : Boolean;

Parametry

repair způsob práce;
lost_blocks ztracené bloky;
lost_dheap ztracené kusy diskové paměti;
nonex_blocks neexistující bloky;
cross_link dvojnásobné použití diskové paměti;
damaged_tabdef zničená definice tabulky
[cdp kontextová proměnná klienta]

Popis

Funkce umožňuje nalézt, příp. opravit chyby konzistence databázového souboru. Změny v provádění této operace z uživatelského rozhraní od verze 9 nejsou v této funkci zahrnuty.

Funkci lze volat pouze v situaci, kdy na server není přihlášen žádný jiný uživatel. Při zavolání funkce nesmí být otevřen žádný kurzor.

Parametr repair určuje způsob provedení: hodnota TRUE znamená nalézt, opravit a informovat, hodnota FALSE pouze nalézt a informovat. Které chyby se budou hledat ovlivňuje šestice následujících parametrů: je-li parametr proměnná, chyba se bude hledat (resp. opravovat) a do proměnné se zapíše počet výskytů chyby, má-li parametr hodnotu NIL, chyba se nebude hledat (ani opravovat).

Více o této operaci naleznete na stránce Kontrola konzistence databáze.

Hodnota funkce

Funkce při chybě vrátí TRUE, při úspěchu FALSE. Častou příčinou nezdaru může být jiný uživatel přihlášený v téže době do databáze. V takovém případě nastane chyba NOT_LOCKED (136).