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

Create references from mvTable to its corresponding columns


diffs (75 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
@@ -9812,6 +9812,7 @@ RDFextractCSwithTypes(int *ret, bat *sba
        #endif
 
        /*Run merging for few times to get good parameters*/
+       if(0)
        {
        int i = 0; 
        int numRun = 10; 
@@ -9842,7 +9843,8 @@ RDFextractCSwithTypes(int *ret, bat *sba
        
        free(pscores); 
        }
-
+       
+       simTfidfThreshold = 0.65;
        printf("The final simTfidfThreshold is %f\n",simTfidfThreshold);
        // Create label per freqCS
 
diff --git a/sql/backends/monet5/sql_rdf.c b/sql/backends/monet5/sql_rdf.c
--- a/sql/backends/monet5/sql_rdf.c
+++ b/sql/backends/monet5/sql_rdf.c
@@ -593,7 +593,7 @@ void getMvTblSQLname(char *tmpmvtbname, 
 
 static
 void addPKandFKs(CStableStat* cstablestat, CSPropTypes *csPropTypes, str 
schema, BATiter mapi, BAT *mbat){
-       FILE            *fout;
+       FILE            *fout, *foutPK, *foutMV;
        char            filename[100];
        int             i, j;
        char            fromTbl[100]; 
@@ -606,14 +606,28 @@ void addPKandFKs(CStableStat* cstablesta
 
        strcpy(filename, "fkCreate.sql");
        fout = fopen(filename, "wt");
+       foutPK = fopen("pkCreate.sql","wt");
+       foutMV = fopen("mvRefCreate.sql","wt"); 
 
-       //Add PKs to all subject columns
        for (i = 0; i < cstablestat->numTables; i++){
-               getTblSQLname(toTbl, i, 0, cstablestat, mapi, mbat);
-               fprintf(fout, "ALTER TABLE %s.\"%s\" ADD PRIMARY KEY 
(subject);\n",schema,toTbl);
+
+               //Add PKs to all subject columns
+               getTblSQLname(fromTbl, i, 0, cstablestat, mapi, mbat);
+               fprintf(foutPK, "ALTER TABLE %s.\"%s\" ADD PRIMARY KEY 
(subject);\n",schema,fromTbl);
+       
+               //Add unique key constraint and FKs between MVTable and its 
corresponding column
+               //in the default table
+               for (j = 0; j < cstablestat->numPropPerTable[i]; j++){
+                       if (cstablestat->lstcstable[i].lstMVTables[j].numCol != 
0){     //MVColumn
+                               getColSQLname(fromTblCol, i, j, -1, 
cstablestat, mapi, mbat);
+                               getMvTblSQLname(mvTbl, i, j, cstablestat, mapi, 
mbat);
+                               fprintf(foutMV, "ALTER TABLE %s.\"%s\" ADD 
UNIQUE (\"%s\");\n",schema,fromTbl,fromTblCol);              
+                               fprintf(foutMV, "ALTER TABLE %s.\"%s\" ADD 
FOREIGN KEY (\"mvKey\") REFERENCES %s.\"%s\" (\"%s\");\n",schema, mvTbl, 
schema, fromTbl,fromTblCol);
+                       
+                       }
+               }
        }
 
-
        for (i = 0; i < cstablestat->numTables; i++){
                for(j = 0; j < csPropTypes[i].numProp; j++){
                        if (csPropTypes[i].lstPropTypes[j].defColIdx == -1)     
continue;
@@ -646,6 +660,8 @@ void addPKandFKs(CStableStat* cstablesta
                }
        }
        fclose(fout);   
+       fclose(foutPK); 
+       fclose(foutMV); 
 
 }
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to