Position the cursor in the index.
MCO_RET mco_uda_locate( /*IN*/ mco_trans_h t,
/*IN*/ unsigned short struct_no,
/*IN*/ unsigned short index_no,
/*OUT*/ mco_cursor_t * cursor );
| t | The transaction handle |
|
obj |
The address of a |
|
index_no |
The index number (must be between 0 and |
|
cursor |
Address of a |
Positions the cursor in the index referenced by index_no at the given object.
| MCO_S_OK | The current cursor position was successfully moved to the specified object |
|
MCO_E_UDA_STRUCT_NOT_CLASS |
Invalid object handle: points to a structure, not an object |
|
MCO_E_UDA_INDEX_NOTFOUND |
Invalid |
Application snippet:
int main(int argc, char** argv)
{
MCO_RET rc;
mco_db_h db;
mco_trans_h t;
mco_cursor_t cursor;
unsigned short struct_no = 1;
unsigned short index_no = 5;
...
rc = mco_trans_start(db, MCO_READ_ONLY, MCO_TRANS_FOREGROUND, &t);
if ( MCO_S_OK == rc )
{
rc = mco_uda_cursor(t, struct_no, index_no, &cursor);
for ( ; rc == MCO_S_OK; rc = mco_cursor_next(t, &cursor))
{
mco_uda_object_handle_t obj;
/* get object handle */
mco_uda_from_cursor(t, &cursor, &obj);
mco_uda_locate(t, &obj, index_no, &cursor);
...
}
rc = mco_trans_rollback(t);
}
}