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), \