Mercurial > hg > audiodb
comparison audioDB.h @ 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 |
---|---|
52 #define O2_FORMAT_VERSION (4U) | 52 #define O2_FORMAT_VERSION (4U) |
53 | 53 |
54 #define O2_DEFAULT_POINTNN (10U) | 54 #define O2_DEFAULT_POINTNN (10U) |
55 #define O2_DEFAULT_TRACKNN (10U) | 55 #define O2_DEFAULT_TRACKNN (10U) |
56 | 56 |
57 //#define O2_DEFAULTDBSIZE (4000000000) // 4GB table size | |
57 #define O2_DEFAULTDBSIZE (2000000000) // 2GB table size | 58 #define O2_DEFAULTDBSIZE (2000000000) // 2GB table size |
59 | |
60 #define O2_DEFAULT_DATASIZE (1355U) // in MB | |
61 #define O2_DEFAULT_NTRACKS (20000U) | |
62 #define O2_DEFAULT_DATADIM (9U) | |
58 | 63 |
59 #define O2_MAXFILES (20000U) | 64 #define O2_MAXFILES (20000U) |
60 #define O2_MAXFILESTR (256U) | 65 #define O2_MAXFILESTR (256U) |
61 #define O2_FILETABLESIZE (O2_MAXFILESTR) | 66 #define O2_FILETABLE_ENTRY_SIZE (O2_MAXFILESTR) |
62 #define O2_TRACKTABLESIZE (sizeof(unsigned)) | 67 #define O2_TRACKTABLE_ENTRY_SIZE (sizeof(unsigned)) |
63 #define O2_HEADERSIZE (sizeof(dbTableHeaderT)) | 68 #define O2_HEADERSIZE (sizeof(dbTableHeaderT)) |
64 #define O2_MEANNUMVECTORS (1000U) | 69 #define O2_MEANNUMVECTORS (1000U) |
65 #define O2_MAXDIM (1000U) | 70 #define O2_MAXDIM (1000U) |
66 #define O2_MAXNN (10000U) | 71 #define O2_MAXNN (1000000U) |
67 | 72 |
68 // Flags | 73 // Flags |
69 #define O2_FLAG_L2NORM (0x1U) | 74 #define O2_FLAG_L2NORM (0x1U) |
70 #define O2_FLAG_MINMAX (0x2U) | 75 #define O2_FLAG_MINMAX (0x2U) |
71 #define O2_FLAG_POWER (0x4U) | 76 #define O2_FLAG_POWER (0x4U) |
73 | 78 |
74 // Query types | 79 // Query types |
75 #define O2_POINT_QUERY (0x4U) | 80 #define O2_POINT_QUERY (0x4U) |
76 #define O2_SEQUENCE_QUERY (0x8U) | 81 #define O2_SEQUENCE_QUERY (0x8U) |
77 #define O2_TRACK_QUERY (0x10U) | 82 #define O2_TRACK_QUERY (0x10U) |
83 #define O2_N_SEQUENCE_QUERY (0x20U) | |
84 #define O2_ONE_TO_ONE_N_SEQUENCE_QUERY (0x40U) | |
85 | |
78 | 86 |
79 // Error Codes | 87 // Error Codes |
80 #define O2_ERR_KEYNOTFOUND (0xFFFFFF00) | 88 #define O2_ERR_KEYNOTFOUND (0xFFFFFF00) |
81 | 89 |
82 // Macros | 90 // Macros |
165 size_t powerTableLength; | 173 size_t powerTableLength; |
166 size_t l2normTableLength; | 174 size_t l2normTableLength; |
167 | 175 |
168 // Flags and parameters | 176 // Flags and parameters |
169 unsigned verbosity; // how much do we want to know? | 177 unsigned verbosity; // how much do we want to know? |
170 off_t size; // given size (for creation) | 178 |
179 //off_t size; // given size (for creation) | |
180 unsigned datasize; // size in MB | |
181 unsigned ntracks; | |
182 unsigned datadim; | |
183 | |
171 unsigned queryType; // point queries default | 184 unsigned queryType; // point queries default |
172 unsigned pointNN; // how many point NNs ? | 185 unsigned pointNN; // how many point NNs ? |
173 unsigned trackNN; // how many track NNs ? | 186 unsigned trackNN; // how many track NNs ? |
174 unsigned sequenceLength; | 187 unsigned sequenceLength; |
175 unsigned sequenceHop; | 188 unsigned sequenceHop; |
225 int processArgs(const unsigned argc, char* const argv[]); | 238 int processArgs(const unsigned argc, char* const argv[]); |
226 void get_lock(int fd, bool exclusive); | 239 void get_lock(int fd, bool exclusive); |
227 void release_lock(int fd); | 240 void release_lock(int fd); |
228 void create(const char* dbName); | 241 void create(const char* dbName); |
229 void drop(); | 242 void drop(); |
243 bool enough_per_file_space_free(); | |
230 bool enough_data_space_free(off_t size); | 244 bool enough_data_space_free(off_t size); |
231 void insert_data_vectors(off_t offset, void *buffer, size_t size); | 245 void insert_data_vectors(off_t offset, void *buffer, size_t size); |
232 void insert(const char* dbName, const char* inFile); | 246 void insert(const char* dbName, const char* inFile); |
233 void batchinsert(const char* dbName, const char* inFile); | 247 void batchinsert(const char* dbName, const char* inFile); |
234 void query(const char* dbName, const char* inFile, adb__queryResponse *adbQueryResponse=0); | 248 void query(const char* dbName, const char* inFile, adb__queryResponse *adbQueryResponse=0); |
275 dataBufLength(0), \ | 289 dataBufLength(0), \ |
276 timesTableLength(0), \ | 290 timesTableLength(0), \ |
277 powerTableLength(0), \ | 291 powerTableLength(0), \ |
278 l2normTableLength(0), \ | 292 l2normTableLength(0), \ |
279 verbosity(1), \ | 293 verbosity(1), \ |
280 size(O2_DEFAULTDBSIZE), \ | 294 datasize(O2_DEFAULT_DATASIZE), \ |
295 ntracks(O2_DEFAULT_NTRACKS), \ | |
296 datadim(O2_DEFAULT_DATADIM), \ | |
281 queryType(O2_POINT_QUERY), \ | 297 queryType(O2_POINT_QUERY), \ |
282 pointNN(O2_DEFAULT_POINTNN), \ | 298 pointNN(O2_DEFAULT_POINTNN), \ |
283 trackNN(O2_DEFAULT_TRACKNN), \ | 299 trackNN(O2_DEFAULT_TRACKNN), \ |
284 sequenceLength(16), \ | 300 sequenceLength(16), \ |
285 sequenceHop(1), \ | 301 sequenceHop(1), \ |