Sun StorageTek 5800 System Client API Reference Guide

hc_check_indexed_ez

Checks if the metadata for an object is present in the query engine, and inserts it if not.

Synopsis

     hcerr_t hc_check_indexed_ez(hc_session_t *session,
          hc_oid *oid,
          int *resultp);

Description

checkIndexed is intended as way to resolve a store index exception under program control (see The 5800 System Query Integrity Model). Once a store index exception occurs (as indicated by a non-zero value of the is_indexed field in the hc_system_record_t returned from a store operation) then hc_check_indexed_ez can be called repeatedly until it returns with *resultp set to any non-zero value. This will ensure that the metadata for the object has been inserted into the query engine; the object should then start to show up in matching queries.

Parameters

session

IN: The session for the host and port to talk to.

oid

IN: An identifier of object data to which the metadata record is attached.

resultp

OUT: Points to an int that is updated to a value that indicates if the metadata for this object has been inserted into the query engine. The returned value of *resultp is set to -1 if the object was already present in the query engine, and is set to 0 if the object was not already in the query engine and could not be added, and to 1 if the object was just now added to the query engine. In other words, a non-zero value of resultp indicates that the store index exception has been resolved.

Return Codes

     HCERR_OK
     HCERR_BAD_REQUEST
     HCERR_OOM
     HCERR_NULL_SESSION
     HCERR_INVALID_SESSION
     HCERR_INVALID_OID