diff query.cpp @ 277:abfb26e08d9c audiodb-debian

Merge trunk changes -r326:386 into audiodb-debian branch. Plus new debian/changelog version. (Should have used an epoch really, but couldn't be bothered; TODO: work out a sane version numbering policy).
author mas01cr
date Tue, 01 Jul 2008 09:12:40 +0000
parents 15b8ff55ea5b
children
line wrap: on
line diff
--- a/query.cpp	Mon Dec 17 16:44:37 2007 +0000
+++ b/query.cpp	Tue Jul 01 09:12:40 2008 +0000
@@ -37,6 +37,20 @@
       r = new trackSequenceQueryRadReporter(trackNN, dbH->numFiles);
     }
     break;
+  case O2_N_SEQUENCE_QUERY :
+    if(radius == 0) {
+      r = new trackSequenceQueryNNReporter<std::less < NNresult > >(pointNN, trackNN, dbH->numFiles);
+    } else {
+      r = new trackSequenceQueryRadNNReporter(pointNN,trackNN, dbH->numFiles);
+    }
+    break;
+  case O2_ONE_TO_ONE_N_SEQUENCE_QUERY :
+    if(radius == 0) {
+      error("query-type not yet supported");
+    } else {
+      r = new trackSequenceQueryRadNNReporterOneToOne(pointNN,trackNN, dbH->numFiles);
+    }
+    break;
   default:
     error("unrecognized queryType in query()");
   }  
@@ -48,7 +62,7 @@
 // return ordinal position of key in keyTable
 unsigned audioDB::getKeyPos(char* key){  
   for(unsigned k=0; k<dbH->numFiles; k++)
-    if(strncmp(fileTable + k*O2_FILETABLESIZE, key, strlen(key))==0)
+    if(strncmp(fileTable + k*O2_FILETABLE_ENTRY_SIZE, key, strlen(key))==0)
       return k;
   error("Key not found",key);
   return O2_ERR_KEYNOTFOUND;