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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list