Lines Matching refs:wqitem

267   wqitem(item),  in ExternalValue()
275 wqitem->ext_val = this; in ExternalValue()
276 pool = pipeline_create_memory_pool(wqitem->pipeline); in ExternalValue()
285 wqitem->ext_val = 0; in ~ExternalValue()
298 delete_expired_item(wqitem, tx); in worker_read_external()
302 if(wqitem->prefix_info.has_flags_col && ! op.isNull(COL_STORE_FLAGS)) in worker_read_external()
303 wqitem->math_flags = htonl(op.getIntValue(COL_STORE_FLAGS)); in worker_read_external()
304 else if(wqitem->plan->static_flags) in worker_read_external()
305 wqitem->math_flags = htonl(wqitem->plan->static_flags); in worker_read_external()
307 wqitem->math_flags = 0; in worker_read_external()
311 callback_ext_parts_read, wqitem, RESCHEDULE); in worker_read_external()
345 wqitem->next_step = (void *) worker_finalize_write; in finalize_write()
347 callback_main, wqitem, RESCHEDULE); in finalize_write()
356 wqitem->next_step = (void *) worker_finalize_write; in do_insert()
358 Scheduler::execute(tx, NdbTransaction::Commit, callback_main, wqitem, YIELD); in do_insert()
364 if(wqitem->plan->spec->cas_column) in readStoredCas()
376 wqitem->status = & status_block_misc_error; in insert_after_header_read()
377 worker_commit(tx, wqitem); in insert_after_header_read()
385 Operation read_op(wqitem->plan, OP_READ); in update_after_header_read()
386 read_op.buffer = wqitem->row_buffer_1; in update_after_header_read()
391 if(wqitem->base.verb == OPERATION_CAS && *wqitem->cas != stored_cas) { in update_after_header_read()
392 DEBUG_PRINT("CAS Mismatch: IN:%llu STORED:%llu", * wqitem->cas, stored_cas); in update_after_header_read()
393 * wqitem->cas = 0ULL; // set cas=0 in the response in update_after_header_read()
394 wqitem->status = & status_block_cas_mismatch; in update_after_header_read()
395 return worker_commit(tx, wqitem); in update_after_header_read()
400 new_hdr.setLength(wqitem->cache_item->nbytes); in update_after_header_read()
401 value = hash_item_get_data(wqitem->cache_item); in update_after_header_read()
415 Operation write_op(wqitem); in update()
418 setupKey(wqitem, write_op); in update()
421 workitem_allocate_rowbuffer_2(wqitem, write_op.requiredBuffer()); in update()
422 write_op.buffer = wqitem->row_buffer_2; in update()
426 worker_set_cas(wqitem->pipeline, wqitem->cas); // generate a new value in update()
427 hash_item_set_cas(wqitem->cache_item, * wqitem->cas); // store it in update()
495 workitem_allocate_rowbuffer_2(wqitem, part_op.requiredBuffer()); in readFinalPart()
496 part_op.buffer = wqitem->row_buffer_2; in readFinalPart()
585 op.setColumnBigUnsigned(COL_STORE_CAS, * wqitem->cas); in setMiscColumns()
588 rel_time_t exptime = hash_item_get_exptime(wqitem->cache_item); in setMiscColumns()
589 if(exptime && wqitem->prefix_info.has_expire_col) { in setMiscColumns()
591 wqitem->pipeline->engine->server.core->abstime(exptime); in setMiscColumns()
596 if(wqitem->prefix_info.has_flags_col) { in setMiscColumns()
597 uint32_t flags = hash_item_get_flags(wqitem->cache_item); in setMiscColumns()
604 const char *dbkey = workitem_get_key_suffix(wqitem); in setValueColumns()
605 op.setKeyFieldsInRow(wqitem->plan->spec->nkeycols, dbkey, wqitem->base.nsuffix); in setValueColumns()
625 tx = op.startTransaction(wqitem->ndb_instance->db); in startTransaction()
628 log_ndb_error(wqitem->ndb_instance->db->getNdbError()); in startTransaction()
638 new_hdr.setLength(wqitem->cache_item->nbytes); in insert()
642 value = hash_item_get_data(wqitem->cache_item); in insert()
645 Operation op(wqitem); in insert()
648 if(! setupKey(wqitem, op)) in insert()
655 workitem_allocate_rowbuffer_2(wqitem, op.requiredBuffer()); in insert()
656 op.buffer = wqitem->row_buffer_2; in insert()
660 worker_set_cas(wqitem->pipeline, wqitem->cas); // generate a new value in insert()
661 hash_item_set_cas(wqitem->cache_item, * wqitem->cas); // store it in insert()
682 const char * affix_val = hash_item_get_data(wqitem->cache_item); in affix_short()
683 const size_t affix_len = wqitem->cache_item->nbytes; in affix_short()
695 if(wqitem->base.verb == OPERATION_APPEND) { in affix_short()
700 assert(wqitem->base.verb == OPERATION_PREPEND); in affix_short()
706 Operation op(wqitem); in affix_short()
707 workitem_allocate_rowbuffer_2(wqitem, op.requiredBuffer()); in affix_short()
708 op.buffer = wqitem->row_buffer_2; in affix_short()
722 assert(wqitem->base.verb == OPERATION_PREPEND); in prepend()
726 const char * affix_val = hash_item_get_data(wqitem->cache_item); in prepend()
727 const size_t affix_len = wqitem->cache_item->nbytes; in prepend()
748 uint32_t & affix_len = wqitem->cache_item->nbytes; in append()
749 char * affix_val = hash_item_get_data(wqitem->cache_item); in append()
766 readop.buffer = wqitem->row_buffer_2; in append()
783 Operation hdr_op(wqitem); in append()
790 wqitem->next_step = (void *) finalize_append; in append()
792 callback_main, wqitem, RESCHEDULE); in append()
802 wqitem->base.nkey, wqitem->key); in warnMissingParts()
821 wqitem->pipeline->engine->m_default_engine; in build_hash_item()
824 hash_item * item = item_alloc(se, wqitem->key, wqitem->base.nkey, in build_hash_item()
825 wqitem->math_flags, in build_hash_item()
827 old_hdr.length + 3, wqitem->cookie); in build_hash_item()
831 memcpy(hash_item_get_key(item), wqitem->key, wqitem->base.nkey); // the key in build_hash_item()
842 wqitem->cache_item = item; in build_hash_item()
843 wqitem->value_size = ncopied; in build_hash_item()
846 if(wqitem->prefix_info.do_mc_read) { in build_hash_item()
848 status = store_item(se, item, wqitem->cas, OPERATION_SET, wqitem->cookie); in build_hash_item()
850 wqitem->status = & status_block_memcache_error; in build_hash_item()
855 wqitem->status = & status_block_memcache_error; in build_hash_item()
863 void delete_after_header_read(NdbTransaction *tx, workitem *wqitem) { in delete_after_header_read() argument
864 DEBUG_PRINT_DETAIL(" %d.%d", wqitem->pipeline->id, wqitem->id); in delete_after_header_read()
866 Operation op(wqitem->plan, OP_READ); in delete_after_header_read()
867 op.key_buffer = wqitem->ndb_key_buffer; // The key is already set. in delete_after_header_read()
868 op.buffer = wqitem->row_buffer_1; in delete_after_header_read()
870 assert(wqitem->ext_val == 0); in delete_after_header_read()
871 wqitem->ext_val = new ExternalValue(wqitem, tx); in delete_after_header_read()
873 if(wqitem->ext_val->old_hdr.readFromHeader(op)) { in delete_after_header_read()
874 wqitem->ext_val->deleteParts(); in delete_after_header_read()
879 callback_main, wqitem, RESCHEDULE); in delete_after_header_read()
884 workitem *wqitem = (workitem *) itemptr; in callback_ext_parts_read() local
885 DEBUG_PRINT_DETAIL(" %d.%d", wqitem->pipeline->id, wqitem->id); in callback_ext_parts_read()
886 assert(wqitem->ext_val); in callback_ext_parts_read()
889 switch(wqitem->base.verb) { in callback_ext_parts_read()
891 wqitem->ext_val->build_hash_item(); in callback_ext_parts_read()
892 worker_close(tx, wqitem); in callback_ext_parts_read()
895 wqitem->ext_val->append(); in callback_ext_parts_read()
898 wqitem->ext_val->prepend(); in callback_ext_parts_read()
905 wqitem->ext_val->warnMissingParts(); in callback_ext_parts_read()
911 wqitem->status = & status_block_misc_error; in callback_ext_parts_read()
912 worker_commit(tx, wqitem); in callback_ext_parts_read()
922 workitem * wqitem = (workitem *) itemptr; in callback_ext_write() local
923 DEBUG_PRINT_DETAIL(" %d.%d", wqitem->pipeline->id, wqitem->id); in callback_ext_write()
925 assert(wqitem->ext_val == 0); in callback_ext_write()
926 wqitem->ext_val = new ExternalValue(wqitem, tx); in callback_ext_write()
929 wqitem->ext_val->update_after_header_read(); in callback_ext_write()
933 wqitem->base.verb != OPERATION_REPLACE) { in callback_ext_write()
934 wqitem->ext_val->insert_after_header_read(); in callback_ext_write()
942 void finalize_append(NdbTransaction *tx, workitem *wqitem) { in finalize_append() argument
944 if(wqitem->prefix_info.do_mc_write || wqitem->prefix_info.do_mc_read) { in finalize_append()
946 wqitem->pipeline->engine->m_default_engine; in finalize_append()
947 const char *dbkey = workitem_get_key_suffix(wqitem); in finalize_append()
948 hash_item *it = item_get(def_eng, dbkey, wqitem->base.nsuffix); in finalize_append()
955 worker_close(tx, wqitem); in finalize_append()