mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@0: #include mas01cr@62: #include mas01cr@104: #include mas01cr@0: mas01cr@0: // includes for web services mas01cr@0: #include "soapH.h" mas01cr@0: #include "adb.nsmap" mas01cr@0: #include "cmdline.h" mas01cr@0: mas01cr@0: #define MAXSTR 512 mas01cr@0: mas01cr@0: // Databse PRIMARY commands mas01cr@0: #define COM_CREATE "--NEW" mas01cr@0: #define COM_INSERT "--INSERT" mas01cr@0: #define COM_BATCHINSERT "--BATCHINSERT" mas01cr@0: #define COM_QUERY "--QUERY" mas01cr@0: #define COM_STATUS "--STATUS" mas01cr@0: #define COM_L2NORM "--L2NORM" mas01cr@146: #define COM_POWER "--POWER" mas01cr@0: #define COM_DUMP "--DUMP" mas01cr@0: #define COM_SERVER "--SERVER" mas01cr@0: mas01cr@0: // parameters mas01cr@0: #define COM_CLIENT "--client" mas01cr@0: #define COM_DATABASE "--database" mas01cr@0: #define COM_QTYPE "--qtype" mas01cr@0: #define COM_SEQLEN "--sequencelength" mas01cr@0: #define COM_SEQHOP "--sequencehop" mas01cr@0: #define COM_POINTNN "--pointnn" mas01mc@18: #define COM_TRACKNN "--resultlength" mas01cr@0: #define COM_QPOINT "--qpoint" mas01cr@0: #define COM_FEATURES "--features" mas01cr@0: #define COM_QUERYKEY "--key" mas01cr@0: #define COM_KEYLIST "--keyList" mas01cr@0: #define COM_TIMES "--times" mas01cr@171: #define COM_QUERYPOWER "--power" mas01cr@171: #define COM_RELATIVE_THRESH "--relative-threshold" mas01cr@171: #define COM_ABSOLUTE_THRESH "--absolute-threshold" mas01cr@0: mas01cr@108: #define O2_OLD_MAGIC ('O'|'2'<<8|'D'<<16|'B'<<24) mas01cr@108: #define O2_MAGIC ('o'|'2'<<8|'d'<<16|'b'<<24) mas01cr@142: #define O2_FORMAT_VERSION (1U) mas01cr@0: mas01cr@0: #define O2_DEFAULT_POINTNN (10U) mas01mc@18: #define O2_DEFAULT_TRACKNN (10U) mas01cr@0: mas01mc@7: #define O2_DEFAULTDBSIZE (2000000000) // 2GB table size mas01mc@7: //#define O2_DEFAULTDBSIZE (1000000000U) // 1GB table size mas01cr@0: mas01cr@0: //#define O2_MAXFILES (1000000) mas01cr@0: #define O2_MAXFILES (10000U) // 10,000 files mas01cr@0: #define O2_MAXFILESTR (256U) mas01cr@0: #define O2_FILETABLESIZE (O2_MAXFILESTR) mas01mc@18: #define O2_TRACKTABLESIZE (sizeof(unsigned)) mas01cr@0: #define O2_HEADERSIZE (sizeof(dbTableHeaderT)) mas01cr@0: #define O2_MEANNUMVECTORS (1000U) mas01cr@0: #define O2_MAXDIM (1000U) mas01mc@17: #define O2_MAXNN (10000U) mas01cr@0: mas01cr@0: // Flags mas01cr@0: #define O2_FLAG_L2NORM (0x1U) mas01cr@0: #define O2_FLAG_MINMAX (0x2U) mas01cr@142: #define O2_FLAG_POWER (0x4U) mas01cr@0: #define O2_FLAG_TIMES (0x20U) mas01cr@0: mas01cr@105: // Query types mas01cr@105: #define O2_POINT_QUERY (0x4U) mas01cr@105: #define O2_SEQUENCE_QUERY (0x8U) mas01cr@105: #define O2_TRACK_QUERY (0x10U) mas01cr@105: mas01cr@0: // Error Codes mas01cr@0: #define O2_ERR_KEYNOTFOUND (0xFFFFFF00) mas01cr@0: mas01cr@0: // Macros mas01cr@0: #define O2_ACTION(a) (strcmp(command,a)==0) mas01cr@0: mas01cr@108: #define ALIGN_UP(x,w) ((x) + ((1<