Changeset: cfb07cef3c09 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cfb07cef3c09
Modified Files:
        monetdb5/extras/rdf/rdfschema.c
Branch: rdf
Log Message:

Add functions for freeing memory allocated for some datastructures (e.g., csrel 
set, SubCSset,...)


diffs (80 lines):

diff --git a/monetdb5/extras/rdf/rdfschema.c b/monetdb5/extras/rdf/rdfschema.c
--- a/monetdb5/extras/rdf/rdfschema.c
+++ b/monetdb5/extras/rdf/rdfschema.c
@@ -137,6 +137,18 @@ CSrel* initCSrelset(oid numCSrel){
 }
 
 static 
+void freeCSrelSet(CSrel *csrelSet, int numCSrel){
+       int i; 
+
+       for (i = 0; i < numCSrel; i++){
+               free(csrelSet[i].lstRefCSoid);
+               free(csrelSet[i].lstCnt); 
+       }
+       free(csrelSet);
+}
+
+
+static 
 void printCSrelSet(CSrel *csrelSet, char *csFreqMap, BAT* freqBat, int num){
 
        int i; 
@@ -208,6 +220,22 @@ SubCSSet* initCS_SubCSMap(oid numSubCSSe
        return subcssets; 
 
 }
+
+static 
+void freeCS_SubCSMapSet(SubCSSet *subcssets, int numSubCSSet){
+       int i; 
+       int j; 
+
+       for (i = 0; i < numSubCSSet; i++){
+               for (j = 0; j < subcssets[i].numSubCS; j++){
+                       free(subcssets[i].subCSs[j].subTypes);
+               }
+               free(subcssets[i].subCSs);
+               free(subcssets[i].freq); 
+       }
+       free(subcssets);
+}
+
 static 
 char checkExistsubCS(oid subCSsign, char* types, int numTypes,  SubCSSet 
*subcsset, oid *existCSId){
        char isFound = 0; 
@@ -875,6 +903,9 @@ CSBats* initCSBats(void){
 
        return csBats; 
 }
+
+
+
 static 
 void freeCSBats(CSBats *csBats){
        BBPreclaim(csBats->hsKeyBat); 
@@ -884,9 +915,9 @@ void freeCSBats(CSBats *csBats){
        BBPreclaim(csBats->fullPBat); 
 
        free(csBats);
+
 }
 
-
 static 
 str RDFassignCSId(int *ret, BAT *sbat, BATiter si, BATiter pi, CSset 
*freqCSset, int *freqThreshold, CSBats* csBats, oid *subjCSMap, oid *maxCSoid, 
int *maxNumProp, int *maxNumPwithDup){
 
@@ -1122,6 +1153,13 @@ RDFextractCSwithTypes(int *ret, bat *sba
        BBPreclaim(obat);
 
        free (subjCSMap); 
+       free (subjSubCSMap);
+       free (csFreqMap);
+
+       freeCS_SubCSMapSet(csSubCSMap, maxCSoid + 1); 
+
+       freeCSrelSet(csrelSet, maxCSoid + 1); 
+
        freeCSBats(csBats);
 
        freeCSset(freqCSset); 
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to