output.println("/* prefetchid_" + fpn.siteid + " */");
output.println("void * prefptr;");
output.println("int tmpindex;");
+
+ output.println("if((evalPrefetch["+fpn.siteid+"].operMode) || (evalPrefetch["+fpn.siteid+"].retrycount <= 0)) {");
/*Create C code for oid array */
output.print(" unsigned int oidarray_[] = {");
boolean needcomma=false;
}
output.println("};");
/* make the prefetch call to Runtime */
- output.println(" if(evalPrefetch["+fpn.siteid+"].operMode) {");
- output.println(" prefetch("+fpn.siteid+" ,"+tuplecount+", oidarray_, endoffsetarry_, fieldarry_);");
- output.println(" } else if(evalPrefetch["+fpn.siteid+"].retrycount <= 0) {");
- output.println(" prefetch("+fpn.siteid+" ,"+tuplecount+", oidarray_, endoffsetarry_, fieldarry_);");
- output.println(" evalPrefetch["+fpn.siteid+"].retrycount = RETRYINTERVAL;");
- output.println(" } else {");
- output.println(" evalPrefetch["+fpn.siteid+"].retrycount--;");
- output.println(" }");
+ output.println(" if(!evalPrefetch["+fpn.siteid+"].operMode) {");
+ output.println(" evalPrefetch["+fpn.siteid+"].retrycount = RETRYINTERVAL;");
+ output.println(" }");
+ output.println(" prefetch("+fpn.siteid+" ,"+tuplecount+", oidarray_, endoffsetarry_, fieldarry_);");
+ output.println(" } else {");
+ output.println(" evalPrefetch["+fpn.siteid+"].retrycount--;");
+ output.println(" }");
output.println("}");
}
}
}
pthread_mutex_lock(&prefetchcache_mutex);
header = (objheader_t *) chashSearch(tdata->rec->lookupTable, oid);
+ header->version += 1;
//copy object into prefetch cache
GETSIZE(size, header);
if ((newAddr = prefetchobjstrAlloc(size + sizeof(objheader_t))) == NULL) {
return 0;
}
-/*This function completes the COMMIT process is the transaction is commiting*/
+/*This function completes the COMMIT process if the transaction is commiting*/
int transComProcess(local_thread_data_array_t *localtdata) {
objheader_t *header, *tcptr;
int i, nummod, tmpsize, numcreated, numlocked;