YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense alongwiththisprogram;ifnot,writetotheFreeSoftware
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
/* If no active record and last was not deleted */ if (!(info->update & (HA_STATE_AKTIV | HA_STATE_NO_KEY |
HA_STATE_DELETED)))
{ if (info->update & HA_STATE_NEXT_FOUND)
pos= 0; /* Can't search after last row */ else
{ /* Last was 'prev' before first record; search after first record */
pos= tree_search_edge(&keyinfo->rb_tree, info->parents,
&info->last_pos, offsetof(TREE_ELEMENT, left));
}
} elseif (info->last_pos && info->key_version == info->s->key_version)
{ /* Weenterthisbranchfornon-DELETEqueriesafterheap_rkey() orheap_rfirst().Aslastkeyposition(info->last_pos)isavailable, weonlyneedtoclimbthetreeusingtree_search_next().
*/
pos= tree_search_next(&keyinfo->rb_tree, &info->last_pos,
offsetof(TREE_ELEMENT, left),
offsetof(TREE_ELEMENT, right));
} elseif (!info->lastkey_len)
{ /* WeenterthisbranchonlyforDELETEqueriesafterheap_rfirst().E.g. DELETEFROMt1WHEREa<10.Aslastkeypositionisnotavailable (lastkeyisremovedbyheap_delete()),wemustrestartsearchasit isdoneinheap_rfirst().
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.