00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00028 #ifndef DBA_DB_CURSOR_H
00029 #define DBA_DB_CURSOR_H
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034
00035 #include <dballe/core/record.h>
00036 #include <dballe/db/querybuf.h>
00037
00042 #define DBA_DB_WANT_COORDS (1 << 0)
00043
00044 #define DBA_DB_WANT_IDENT (1 << 1)
00045
00046 #define DBA_DB_WANT_LEVEL (1 << 2)
00047
00048 #define DBA_DB_WANT_TIMERANGE (1 << 3)
00049
00050 #define DBA_DB_WANT_DATETIME (1 << 4)
00051
00052 #define DBA_DB_WANT_VAR_NAME (1 << 5)
00053
00054 #define DBA_DB_WANT_VAR_VALUE (1 << 6)
00055
00056 #define DBA_DB_WANT_REPCOD (1 << 7)
00057
00058 #define DBA_DB_WANT_ANA_ID (1 << 8)
00059
00060 #define DBA_DB_WANT_CONTEXT_ID (1 << 9)
00061
00066 #define DBA_DB_FROM_PA (1 << 0)
00067
00068 #define DBA_DB_FROM_C (1 << 1)
00069
00070 #define DBA_DB_FROM_D (1 << 2)
00071
00072 #define DBA_DB_FROM_RI (1 << 3)
00073
00074 #define DBA_DB_FROM_CBS (1 << 4)
00075
00076 #define DBA_DB_FROM_DBLO (1 << 5)
00077
00078 #define DBA_DB_FROM_DSTA (1 << 6)
00079
00080 #define DBA_DB_FROM_DANA (1 << 7)
00081
00083 #define DBA_DB_FROM_DDF (1 << 8)
00084
00086 #define DBA_DB_FROM_ADF (1 << 9)
00087
00093 #define DBA_DB_MODIFIER_BEST (1 << 0)
00094
00097 #define DBA_DB_MODIFIER_BIGANA (1 << 1)
00098
00099 #define DBA_DB_MODIFIER_DISTINCT (1 << 2)
00100
00101 #define DBA_DB_MODIFIER_ANAEXTRA (1 << 3)
00102
00103 #define DBA_DB_MODIFIER_NOANAEXTRA (1 << 4)
00104
00105 #define DBA_DB_MODIFIER_UNSORTED (1 << 5)
00106
00110 #define DBA_DB_MODIFIER_STREAM (1 << 6)
00111
00112 #ifndef DBA_DB_DEFINED
00113 #define DBA_DB_DEFINED
00114 struct _dba_db;
00116 typedef struct _dba_db* dba_db;
00117 #endif
00118
00119 struct _dba_db_cursor;
00121 typedef struct _dba_db_cursor* dba_db_cursor;
00122
00133 dba_err dba_db_cursor_create(dba_db db, dba_db_cursor* cur);
00134
00141 void dba_db_cursor_delete(dba_db_cursor cur);
00142
00160 dba_err dba_db_cursor_query(dba_db_cursor cur, dba_record query, unsigned int wanted, unsigned int modifiers);
00161
00171 int dba_db_cursor_remaining(dba_db_cursor cur);
00172
00188 dba_err dba_db_cursor_next(dba_db_cursor cur, int* has_data);
00189
00205 dba_err dba_db_cursor_to_record(dba_db_cursor cur, dba_record rec);
00206
00207
00208 #if 0
00209
00227 dba_err dba_db_ana_cursor_next(dba_db_cursor cur, dba_record rec, int* is_last);
00228
00251 dba_err dba_db_cursor_next(dba_db_cursor cur, dba_record rec, dba_varcode* var, int* context_id, int* is_last);
00252 #endif
00253
00254 #ifdef __cplusplus
00255 }
00256 #endif
00257
00258
00259 #endif