Changeset: 44c88f03c2b6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=44c88f03c2b6 Modified Files: monetdb5/extras/crackers/crackers_holistic.c monetdb5/extras/crackers/crackers_holistic.h monetdb5/extras/crackers/crackers_selecthol_ops.mx monetdb5/extras/crackers/crackers_selectholpl_ops.mx Branch: holindex Log Message:
Initialize holistic indexing staruct while creating indices. diffs (230 lines): diff --git a/monetdb5/extras/crackers/crackers_holistic.c b/monetdb5/extras/crackers/crackers_holistic.c --- a/monetdb5/extras/crackers/crackers_holistic.c +++ b/monetdb5/extras/crackers/crackers_holistic.c @@ -134,30 +134,12 @@ void printFrequencyStruct(FrequencyNode* head) { FrequencyNode* temp; - double d; - FILE *ofp1; - char outputFilename1[] = "/export/scratch2/petraki/experiments_1st_paper/experiments/strategies/distance/out.txt"; - ofp1 = fopen(outputFilename1,"a"); - - if (ofp1 == NULL) { - fprintf(stderr, "Can't open output file!\n"); - exit(1); - } temp=head; while(temp != NULL) { - /*fprintf(stderr,"Bid=%d c=%d f1=%d f2=%d W=%lf \n",temp->bid,temp->c,temp->f1,temp->f2,temp->weight);*/ - if(temp->weight>0) - { - d=(100000000.0/temp->c) - 8000.0; - fprintf(ofp1,"%d\t%lf\n",temp->bid,d); - - } + fprintf(stderr,"Bid=%d c=%d f1=%d f2=%d W=%lf \n",temp->bid,temp->c,temp->f1,temp->f2,temp->weight); temp=temp->next; } - fclose(ofp1); - - } FrequencyNode* @@ -341,11 +323,11 @@ deleteNode(FrequencyNode* head,int bat_i } str -CRKinitFrequencyStruct(int *vid,int *bid) +CRKinitFrequencyStruct(int *vid,int bid) { FrequencyNode *fs = getFrequencyStruct('A'); - push(*bid,fs); - *vid = 0; + push(bid,fs); + (void) vid; return MAL_SUCCEED; } diff --git a/monetdb5/extras/crackers/crackers_holistic.h b/monetdb5/extras/crackers/crackers_holistic.h --- a/monetdb5/extras/crackers/crackers_holistic.h +++ b/monetdb5/extras/crackers/crackers_holistic.h @@ -54,7 +54,7 @@ crackers_export void deleteNode(Frequenc crackers_export IdleFuncPtr IdleFunc; crackers_export str CRKinitHolistic(int *ret); -crackers_export str CRKinitFrequencyStruct(int *vid,int *bid); +crackers_export str CRKinitFrequencyStruct(int *vid,int bid); crackers_export str CRKinitFrequencyStruct_2(int *vid,int *bid,int* N,int* L1); crackers_export str CRKrandomCrack(int *ret); crackers_export str CRKrandomCrackST(int *ret); diff --git a/monetdb5/extras/crackers/crackers_selecthol_ops.mx b/monetdb5/extras/crackers/crackers_selecthol_ops.mx --- a/monetdb5/extras/crackers/crackers_selecthol_ops.mx +++ b/monetdb5/extras/crackers/crackers_selecthol_ops.mx @@ -304,19 +304,6 @@ createView: /*FILE *ofp; char outputFilename1[] = "/export/scratch2/petraki/experiments_1st_paper/experiments/stochastic/idle_time_2/pieces_holistic.txt";*/ - - - FrequencyNode* FN; - FrequencyNode *FrequencyStructA = getFrequencyStruct('A'); - - MT_lock_set(&CRKIndexLock,"Cracker Index Lock"); - - FN=searchBAT(FrequencyStructA,*bid); - - if (isIdleQuery!=1) - { - FN->f1 = FN->f1 + 1; - } /*ofp = fopen(outputFilename1,"a"); if (ofp == NULL) { @@ -324,13 +311,16 @@ createView: exit(1); }*/ + + + FrequencyNode* FN; + FrequencyNode *FrequencyStructA = getFrequencyStruct('A'); + if ((bo = BATdescriptor(*bid)) != NULL) - L1=32000/ATOMsize(bo->ttype); + L1=32000/ATOMsize(bo->ttype); - - /*fprintf(stderr,"This is from selcrack_HOL operators\n");*/ - /*fprintf(stderr,"FN->bid=%d\n",FN->bid);*/ + MT_lock_set(&CRKIndexLock,"Cracker Index Lock"); /*if (@2_GT(low,hgh,@3@1)) throw(MAL, "crackers.crack", "illegal range");*/ @@ -377,14 +367,19 @@ createView: /*printf(" "LLFMT" \n ",posh-posl);*/ @:crkThreeTree@5(@1,posl,posh,@5)@ + CRKinitFrequencyStruct(0,*bid); + createIndex=1; + FN=searchBAT(FrequencyStructA,*bid); + + if (isIdleQuery!=1) + FN->f1 = FN->f1 + 1; + FN->c = FN->c + 2; FN->weight = changeWeight_1(FN,countBatElements,L1); - /*fprintf(ofp,"%d\n",FN->c); - fclose(ofp);*/ - /*printFrequencyStruct(FrequencyStructA);*/ + printFrequencyStruct(FrequencyStructA); BBPincref(b->batCacheid,TRUE); BBPunfix(bo->batCacheid); goto createView; @@ -431,6 +426,14 @@ createView: MT_lock_set(&CrackerIndex[m].columnLock,"Lock Attribute"); + FN=searchBAT(FrequencyStructA,*bid); + + if (isIdleQuery!=1) + { + FN->f1 = FN->f1 + 1; + } + + /* If an index exists for this bat (so it has been cracked before) we search the index to find where our range falls after this search if we have a match on the low range vl will hold the @@ -612,17 +615,10 @@ createView: countBatElements=BATcount(b); - /*fprintf(stderr,"BATcount(b)=%d\n",countBatElements);*/ if(FN->weight > 0) FN->weight = changeWeight_1(FN,countBatElements,L1); - /*if(FN->weight > 0 && isIdleQuery!=1) - printFrequencyStruct(FrequencyStructA);*/ - - /*if(FN->weight <0) - deleteNode(FrequencyStructA,FN->bid); - */ - /*printFrequencyStruct(FrequencyStructA);*/ + printFrequencyStruct(FrequencyStructA); /*fprintf(ofp,"%d\n",FN->c); fclose(ofp);*/ diff --git a/monetdb5/extras/crackers/crackers_selectholpl_ops.mx b/monetdb5/extras/crackers/crackers_selectholpl_ops.mx --- a/monetdb5/extras/crackers/crackers_selectholpl_ops.mx +++ b/monetdb5/extras/crackers/crackers_selectholpl_ops.mx @@ -307,24 +307,19 @@ createView: FrequencyNode* FN; FrequencyNode *FrequencyStructA = getFrequencyStruct('A'); + + if ((bo = BATdescriptor(*bid)) != NULL) + L1=32000/ATOMsize(bo->ttype); + + MT_lock_set(&CRKIndexLock,"Cracker Index Lock"); - FN=searchBAT(FrequencyStructA,*bid); - - if (isIdleQuery!=1) - { - FN->f1 = FN->f1 + 1; - } - /*ofp = fopen(outputFilename1,"a"); if (ofp == NULL) { fprintf(stderr, "Can't open output file!\n"); exit(1); }*/ - - if ((bo = BATdescriptor(*bid)) != NULL) - L1=32000/ATOMsize(bo->ttype); /*fprintf(stderr,"This is from selcrack_HOL operators\n");*/ @@ -375,12 +370,17 @@ createView: /*printf(" "LLFMT" \n ",posh-posl);*/ @:crkThreeTree@5(@1,posl,posh,@5)@ + CRKinitFrequencyStruct(0,*bid); + createIndex=1; + FN=searchBAT(FrequencyStructA,*bid); + + if (isIdleQuery!=1) + FN->f1 = FN->f1 + 1; + FN->c = FN->c + 2; FN->weight = changeWeight_1(FN,countBatElements,L1); - /*fprintf(ofp,"%d\n",FN->c); - fclose(ofp);*/ /*printFrequencyStruct(FrequencyStructA);*/ BBPincref(b->batCacheid,TRUE); @@ -511,6 +511,13 @@ createView: MT_lock_unset(&CRKIndexLock,"Cracker Index Lock"); + FN=searchBAT(FrequencyStructA,*bid); + + if (isIdleQuery!=1) + { + FN->f1 = FN->f1 + 1; + } + retry:; pthread_rwlock_rdlock(&CrackerIndex[m].columnRWLock); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list