/* * __wt_curtable_set_key -- * WT_CURSOR->set_key implementation for tables. */ void __wt_curtable_set_key(WT_CURSOR *cursor, ...) { WT_CURSOR **cp, *primary; WT_CURSOR_TABLE *ctable; va_list ap; u_int i; ctable = (WT_CURSOR_TABLE *)cursor; cp = ctable->cg_cursors; primary = *cp++; va_start(ap, cursor); __wt_cursor_set_keyv(primary, cursor->flags, ap); va_end(ap); if (!F_ISSET(primary, WT_CURSTD_KEY_SET)) return; /* Copy the primary key to the other cursors. */ for (i = 1; i < WT_COLGROUPS(ctable->table); i++, cp++) { (*cp)->recno = primary->recno; (*cp)->key.data = primary->key.data; (*cp)->key.size = primary->key.size; F_SET(*cp, WT_CURSTD_KEY_EXT); } }
/* * __wt_cursor_set_key -- * WT_CURSOR->set_key default implementation. */ void __wt_cursor_set_key(WT_CURSOR *cursor, ...) { va_list ap; va_start(ap, cursor); __wt_cursor_set_keyv(cursor, cursor->flags, ap); va_end(ap); }
/* * __async_set_key -- * WT_ASYNC_OP->set_key implementation for op handles. */ static void __async_set_key(WT_ASYNC_OP *asyncop, ...) { WT_CURSOR *c; va_list ap; c = &asyncop->c; va_start(ap, asyncop); __wt_cursor_set_keyv(c, c->flags, ap); if (!WT_DATA_IN_ITEM(&c->key) && !WT_CURSOR_RECNO(c)) c->saved_err = __wt_buf_set( O2S((WT_ASYNC_OP_IMPL *)asyncop), &c->key, c->key.data, c->key.size); va_end(ap); }