27 #include <wreport/varinfo.h>
43 #define DBA_IMPORT_ATTRS 1
45 #define DBA_IMPORT_FULL_PSEUDOANA 2
47 #define DBA_IMPORT_DATETIME_ATTRS 4
50 #define DBA_IMPORT_OVERWRITE 8
54 #define DBA_IMPORT_NO_TRANSACTIONS 16
61 #define DBA_DB_WANT_COORDS (1 << 0)
63 #define DBA_DB_WANT_IDENT (1 << 1)
65 #define DBA_DB_WANT_LEVEL (1 << 2)
67 #define DBA_DB_WANT_TIMERANGE (1 << 3)
69 #define DBA_DB_WANT_DATETIME (1 << 4)
71 #define DBA_DB_WANT_VAR_NAME (1 << 5)
73 #define DBA_DB_WANT_VAR_VALUE (1 << 6)
75 #define DBA_DB_WANT_REPCOD (1 << 7)
77 #define DBA_DB_WANT_ANA_ID (1 << 8)
79 #define DBA_DB_WANT_CONTEXT_ID (1 << 9)
86 #define DBA_DB_MODIFIER_BEST (1 << 0)
90 #define DBA_DB_MODIFIER_BIGANA (1 << 1)
92 #define DBA_DB_MODIFIER_DISTINCT (1 << 2)
94 #define DBA_DB_MODIFIER_ANAEXTRA (1 << 3)
96 #define DBA_DB_MODIFIER_NOANAEXTRA (1 << 4)
98 #define DBA_DB_MODIFIER_UNSORTED (1 << 5)
103 #define DBA_DB_MODIFIER_STREAM (1 << 6)
105 #define DBA_DB_MODIFIER_SORT_FOR_EXPORT (1 << 7)
170 void init_after_connect();
212 void connect(
const char* dsn,
const char* user,
const char* password);
260 static bool is_url(
const char* str);
288 void reset(
const char* repinfo_file = 0);
312 void update_repinfo(
const char* repinfo_file,
int* added,
int* deleted,
int* updated);
366 int obtain_station(
Record& rec,
bool can_add=
true);
379 int obtain_context(
Record& rec);
397 void insert(
Record& rec,
bool can_replace,
bool station_can_add);
406 void remove(
const Record& rec);
434 std::auto_ptr<db::Cursor>
query(
const Record&
query,
unsigned int wanted,
unsigned int modifiers);
475 unsigned query_attrs(
int id_context, wreport::Varcode id_var,
const db::AttrList& qcs,
Record& attrs);
532 void attr_remove(
int id_context, wreport::Varcode id_var,
const db::AttrList& qcs);
548 void import_msg(
const Msg& msg,
const char* repmemo,
int flags);
580 void dump(FILE* out);