C16_KeyReorgWatch
C16_KeyReorgWatch(const vPHANDLE aInstHdl, const vBOOL aAbort, vC16_KeyReorgInfo* aInfo) : vERROR
Schlüsselreorganisation überwachen
Details
- aInstHdl: Instanz-Handle
- aAbort: Reorganisation abbrechen
- aInfo: Informationen zur Reorganisation
- Resultat: vERROR Fehlerwert
- Siehe: Befehle der Programmierschnittstelle , C16_KeyReorgStart()
Diese Funktion liefert den aktuellen Status des Reorganisationslaufes. Die Informationen befinden sich nach dem Aufruf in einer Struktur vom Typ vC16_KeyReorgInfo. Die Struktur ist folgendermaßen definiert:
typedef struct
{
vINT InfoSize;
vXLONG RecID;
vLONG KeyCount;
vLONG RecErrorCount;
vLONG KeyErrorCount;
vLONG Result;
}
vC16_KeyReorgInfo;
- Komponente: Beschreibung
- InfoSize: Größe der Struktur in Byte
- RecID: Datensatz-ID des gerade bearbeiteten Datensatzes
- KeyCount: Anzahl der bisher generierten Schlüsseleinträge
- RecErrorCount: Anzahl der bisher entdeckten defekten Datensätze
- KeyErrorCount: Anzahl der bisher aufgetretenen Wertekollisionen
- Result: Ergebnis der Reorganistation C16RES_ASYNC_RUNNING 1 Schlüsselreorganisation wird gerade durchgeführt C16RES_ASYNC_TERM 2 Schlüsselreorganisation vollständig durchgeführt C16RES_ASYNC_BREAK 3 Schlüsselreorganisation wurde abgebrochen
Im Parameter (aInstHdl) wird der von C16_InitInstance() bereitgestellte Instanz-Handle, der an die Funktion C16_OpenArea() zum Öffnen der Datenbank verwendet wurde, übergeben. Über den Parameter (aAbort) kann die Schlüsselreorganisation abgebrochen (aAbort = true) werden. Beim Abbruch der Schlüsselreorganisation kann es zu einer Verzögerung von 1-2 Sekunden kommen. In (aInfo) muss ein Zeiger auf eine vC16_KeyReorgInfo-Struktur übergeben werden. Die Strukturkomponente InfoSize muss vor der Übergabe mit der Größe der Struktur initialisiert werden (sizeof(vC16_KeyReorgInfo)).
Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler) oder einen negativen Fehlerwert (siehe Fehlerwerte ).
Die Funktion muss solange aufgerufen werden, bis in der Strukturkomponente Result C16RES_ASYNC_BREAK oder C16RES_ASYNC_TERM zurückgegeben wird.