WYRDTEK Home Features Reference Downloads About


Reference/es_mbi_findremoveidx

Syntax

int es_mbi_findremoveidx( struct es_mbi *iter, struct es_mbn *nd );

Arguments

struct es_mbi *iter Database node iterator.
struct es_mbn *nd Database node.

Return Codes

ES_ERROR_NONE Success. No errors.
ES_ERROR_INVALIDBINDING The field-binding associated with iter is for a class that is not the same (or a valid super class) as that of the node nd.
ES_ERROR_MISSINGINDEX The field-binding associated with iterator iter is missing bindings for the index fields.
ES_ERROR_FAILTOFIND Failed to lookup row corresponding to index field values.

Description

Look up row in database node nd and update row contents. Remove row from index. Set iterator to point at row.

The field-binding associated with iterator iter must contain bindings by-value for each field that makes-up the index for node nd. es_mbi_findremoveidx() uses these field values to look up the corresponding row in nd and then updates row-data for the remaining field bindings.

If the row cannot be found, es_mbi_findremoveidx() returns ES_ERROR_FAILTOFIND. iter is left in an undefined state in this case.

A new row added to the same node via es_mbi_findupdate() following a call to es_mbi_findremoveidx() is not guaranteed to be zero-initialized, since the old (deleted) row may be re-used.

[Back To Reference] [Back To Reference/es_mbi]