Mercurial > hg > audiodb
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;