cd_Check_indices

C/C++Pascal

BOOL cd_Check_indices(cdp_t cdp, ttablenum tbnum, sig32 * result, sig32 * index_number);
function cd_Check_indices(cdp : cdp_t, tbnum : ttablenum, var result : sig32, var index_number : sig32) : Boolean;


Parametry

cdp
kontextová proměnná klienta
tbnum
číslo tabulky
result
výstupní parametr: výsledek kontroly
index_number
výstupní parametr: číslo chybného indexu


Od verze

8.0d

Popis

Funkce provádí kontrolu konzistence indexů k tabulce tbnum. Výsledek kontroly je v parametru result:
hodnota význam
-3 číslo tabulky tbnum leží mimo interval platných čísel tabulek
-2 tabulka zadaná číslem tbnum neexistuje
-1 při přístupu k tabulce tbnum došlo k chybě
0 tabulka tbnum má nekonzistentní index s číslem index_number
1 tabulka tbnum má všechny indexy konzistentní

Hodnota výstupního parametru index_number má význam pouze pokud výstupní parametr result má hodnotu 0.



Návratová hodnota

Funkce vrací FALSE při úspěchu a TRUE při chybě.



Příklad

Níže uvedený kód provede kontrolu indexů všech tabulek na serveru:

  ttablenum tbnum = 1;  sig32 result, index_number;
  while (true)
  { if (!cd_Check_indices(cdp, tbnum, &result, &index_number))
    { if (result==-3) break;
      if (result==0)
        ....  // error in index!
    }
    tbnum++;
  }

Níže uvedený kód provede kontrolu indexů tabulky ADRESY ve schématu APL:

  ttablenum tbnum = 1;  sig32 result, index_number;
  if (!cd_Find_object(cdp, "APL.ADRESY", CATEG_TABLE, &tbnum))
    if (!cd_Check_indices(cdp, tbnum, &result, &index_number))
      if (result==0)
        ....  // error in index!