Mercurial > hg > audiodb
comparison 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 |
comparison
equal
deleted
inserted
replaced
246:cbf51690c78c | 277:abfb26e08d9c |
---|---|
35 r = new trackAveragingReporter<std::less < NNresult > >(pointNN, trackNN, dbH->numFiles); | 35 r = new trackAveragingReporter<std::less < NNresult > >(pointNN, trackNN, dbH->numFiles); |
36 } else { | 36 } else { |
37 r = new trackSequenceQueryRadReporter(trackNN, dbH->numFiles); | 37 r = new trackSequenceQueryRadReporter(trackNN, dbH->numFiles); |
38 } | 38 } |
39 break; | 39 break; |
40 case O2_N_SEQUENCE_QUERY : | |
41 if(radius == 0) { | |
42 r = new trackSequenceQueryNNReporter<std::less < NNresult > >(pointNN, trackNN, dbH->numFiles); | |
43 } else { | |
44 r = new trackSequenceQueryRadNNReporter(pointNN,trackNN, dbH->numFiles); | |
45 } | |
46 break; | |
47 case O2_ONE_TO_ONE_N_SEQUENCE_QUERY : | |
48 if(radius == 0) { | |
49 error("query-type not yet supported"); | |
50 } else { | |
51 r = new trackSequenceQueryRadNNReporterOneToOne(pointNN,trackNN, dbH->numFiles); | |
52 } | |
53 break; | |
40 default: | 54 default: |
41 error("unrecognized queryType in query()"); | 55 error("unrecognized queryType in query()"); |
42 } | 56 } |
43 query_loop(dbName, inFile, r); | 57 query_loop(dbName, inFile, r); |
44 r->report(fileTable, adbQueryResponse); | 58 r->report(fileTable, adbQueryResponse); |
46 } | 60 } |
47 | 61 |
48 // return ordinal position of key in keyTable | 62 // return ordinal position of key in keyTable |
49 unsigned audioDB::getKeyPos(char* key){ | 63 unsigned audioDB::getKeyPos(char* key){ |
50 for(unsigned k=0; k<dbH->numFiles; k++) | 64 for(unsigned k=0; k<dbH->numFiles; k++) |
51 if(strncmp(fileTable + k*O2_FILETABLESIZE, key, strlen(key))==0) | 65 if(strncmp(fileTable + k*O2_FILETABLE_ENTRY_SIZE, key, strlen(key))==0) |
52 return k; | 66 return k; |
53 error("Key not found",key); | 67 error("Key not found",key); |
54 return O2_ERR_KEYNOTFOUND; | 68 return O2_ERR_KEYNOTFOUND; |
55 } | 69 } |
56 | 70 |