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

Reply via email to