tizen 2.3 release
[framework/system/deviced.git] / src / logd / src / liblogd-db / db.h
1 #ifndef _LOGD_DB_H_
2 #define _LOGD_DB_H_
3
4 #include <sqlite3.h>
5 #include <stdint.h>
6
7 #include "core/log.h"
8 #include "logd.h"
9 #include "logd-db.h"
10 #include "padvisor.h"
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 #define MAX_SQL_SIZE 1000
17
18
19 #define PREPARE_STMT(stmt, sql)                                         \
20         do {                                                            \
21                 if (sqlite3_prepare_v2(db, sql, -1, &stmt, NULL)        \
22                         != SQLITE_OK) {                                 \
23                         _E("Can't prepare statement");                  \
24                         stmt = 0;                                       \
25                         return -1;                                      \
26                 }                                                       \
27         } while (0);
28
29 #define FINALIZE_STMT(stmt)                                             \
30         do {                                                            \
31                 if (sqlite3_finalize(stmt) != SQLITE_OK) {              \
32                         _E("Can't finalize prepared statement: %s",     \
33                            sqlite3_errmsg(db));                         \
34                         return -1;                                      \
35                 }                                                       \
36                 stmt = 0;                                               \
37         } while (0);
38
39 #define DB_CHECK(ret)                                                   \
40         do {                                                            \
41                 if (ret != SQLITE_OK) {                                 \
42                         _E("data base error: %s", sqlite3_errmsg(db));  \
43                         sqlite3_close(db);                              \
44                         return -1;                                      \
45                 }                                                       \
46         } while (0);
47
48 sqlite3 *logd_get_db(void);
49
50 #ifdef __cplusplus
51 }
52 #endif
53
54 #endif /* _LOGD_DB_H_ */