23 #ifndef __MRSQLITE3_H__ 24 #define __MRSQLITE3_H__ 33 #include <libetpan/libetpan.h> 45 ,SELECT_v_FROM_config_k
46 ,INSERT_INTO_config_kv
50 ,SELECT_COUNT_FROM_contacts
51 ,SELECT_naob_FROM_contacts_i
52 ,SELECT_inao_FROM_contacts_a
53 ,SELECT_id_FROM_contacts_WHERE_id
54 ,SELECT_na_FROM_chats_contacs_JOIN_contacts_WHERE_cc
55 ,SELECT_p_FROM_chats_contacs_JOIN_contacts_peerstates_WHERE_cc
56 ,SELECT_id_FROM_contacts_WHERE_chat_id
57 ,SELECT_id_FROM_contacts_ORDER_BY
58 ,SELECT_id_FROM_contacts_WHERE_query_ORDER_BY
59 ,SELECT_COUNT_FROM_contacts_WHERE_blocked
60 ,SELECT_id_FROM_contacts_WHERE_blocked
61 ,INSERT_INTO_contacts_neo
62 ,UPDATE_contacts_nao_WHERE_i
63 ,UPDATE_contacts_SET_origin_WHERE_id
64 ,UPDATE_contacts_SET_b_WHERE_i
65 ,DELETE_FROM_contacts_WHERE_id
67 ,SELECT_COUNT_FROM_chats
68 ,SELECT_COUNT_FROM_chats_WHERE_archived
69 ,SELECT_ii_FROM_chats_LEFT_JOIN_msgs_WHERE_archived
70 ,SELECT_ii_FROM_chats_LEFT_JOIN_msgs_WHERE_unarchived
71 ,SELECT_ii_FROM_chats_LEFT_JOIN_msgs_WHERE_query
72 ,SELECT_itndd_FROM_chats_WHERE_i
73 ,SELECT_id_FROM_chats_WHERE_id
74 ,SELECT_id_FROM_chats_WHERE_contact_id
75 ,SELECT_id_FROM_CHATS_WHERE_grpid
76 ,SELECT_timestamp_FROM_msgs_WHERE_timestamp
77 ,SELECT_it_FROM_msgs_JOIN_chats_WHERE_rfc724
78 ,SELECT_MAX_timestamp_FROM_msgs
79 ,SELECT_rfc724_FROM_msgs_ORDER_BY_timestamp_LIMIT_1
80 ,UPDATE_chats_SET_draft_WHERE_id
81 ,UPDATE_chats_SET_n_WHERE_c
82 ,UPDATE_chats_SET_blocked
83 ,UPDATE_chats_SET_unarchived
85 ,SELECT_a_FROM_chats_contacts_WHERE_i
86 ,SELECT_COUNT_FROM_chats_contacts_WHERE_chat_id
87 ,SELECT_COUNT_FROM_chats_contacts_WHERE_contact_id
88 ,SELECT_c_FROM_chats_contacts_WHERE_c
89 ,SELECT_c_FROM_chats_contacts_WHERE_c_ORDER_BY
90 ,SELECT_void_FROM_chats_contacts_WHERE_chat_id_AND_contact_id
91 ,INSERT_INTO_chats_contacts
93 ,SELECT_COUNT_FROM_msgs_WHERE_assigned
94 ,SELECT_COUNT_FROM_msgs_WHERE_unassigned
95 ,SELECT_COUNT_FROM_msgs_WHERE_state_AND_chat_id
96 ,SELECT_COUNT_FROM_msgs_WHERE_chat_id
97 ,SELECT_COUNT_FROM_msgs_WHERE_rfc724_mid
98 ,SELECT_COUNT_FROM_msgs_WHERE_ft
99 ,SELECT_COUNT_DISTINCT_f_FROM_msgs_WHERE_c
100 ,SELECT_i_FROM_msgs_WHERE_ctt
101 ,SELECT_id_FROM_msgs_WHERE_cm
102 ,SELECT_id_FROM_msgs_WHERE_mcm
103 ,SELECT_id_FROM_msgs_WHERE_fresh_AND_deaddrop
104 ,SELECT_txt_raw_FROM_msgs_WHERE_id
105 ,SELECT_ircftttstpb_FROM_msg_WHERE_i
106 ,SELECT_ss_FROM_msgs_WHERE_m
107 ,SELECT_i_FROM_msgs_LEFT_JOIN_contacts_WHERE_c
108 ,SELECT_i_FROM_msgs_LEFT_JOIN_contacts_WHERE_starred
109 ,SELECT_i_FROM_msgs_LEFT_JOIN_contacts_WHERE_fresh
110 ,SELECT_i_FROM_msgs_WHERE_query
111 ,SELECT_i_FROM_msgs_WHERE_chat_id_AND_query
112 ,INSERT_INTO_msgs_msscftttsmttpb
113 ,INSERT_INTO_msgs_mcftttstpb
114 ,UPDATE_msgs_SET_chat_id_WHERE_id
115 ,UPDATE_msgs_SET_state_WHERE_id
116 ,UPDATE_msgs_SET_seen_WHERE_id_AND_chat_id_AND_freshORnoticed
117 ,UPDATE_msgs_SET_noticed_WHERE_id_AND_fresh
118 ,UPDATE_msgs_SET_state_WHERE_chat_id_AND_state
119 ,UPDATE_msgs_SET_state_WHERE_from_id_AND_state
120 ,UPDATE_msgs_SET_ss_WHERE_rfc724_mid
121 ,UPDATE_msgs_SET_param_WHERE_id
122 ,UPDATE_msgs_SET_starred_WHERE_id
123 ,DELETE_FROM_msgs_WHERE_id
124 ,DELETE_FROM_msgs_WHERE_rfc724_mid
126 ,SELECT_c_FROM_msgs_mdns_WHERE_mc
127 ,INSERT_INTO_msgs_mdns
128 ,SELECT_COUNT_FROM_msgs_mdns_WHERE_m
129 ,DELETE_FROM_msgs_mdns_WHERE_m
131 ,INSERT_INTO_jobs_aafp
132 ,SELECT_MIN_d_FROM_jobs
133 ,SELECT_iafp_FROM_jobs
134 ,DELETE_FROM_jobs_WHERE_id
135 ,DELETE_FROM_jobs_WHERE_action
136 ,UPDATE_jobs_SET_dp_WHERE_id
138 ,SELECT_FROM_leftgrps_WHERE_grpid
140 ,INSERT_INTO_acpeerstates_a
141 ,SELECT_aclpp_FROM_acpeerstates_WHERE_a
142 ,UPDATE_acpeerstates_SET_l_WHERE_a
143 ,UPDATE_acpeerstates_SET_lcpp_WHERE_a
145 ,INSERT_INTO_keypairs_aippc
146 ,SELECT_private_key_FROM_keypairs_WHERE_default
147 ,SELECT_private_key_FROM_keypairs_ORDER_BY_default
148 ,SELECT_public_key_FROM_keypairs_WHERE_default
162 typedef struct mrsqlite3_t
165 sqlite3_stmt* m_pd[PREDEFINED_CNT];
167 int m_transactionCount;
169 pthread_mutex_t m_critical_;
175 void mrsqlite3_unref (mrsqlite3_t*);
177 #define MR_OPEN_READONLY 0x01 178 int mrsqlite3_open__ (mrsqlite3_t*,
const char* dbfile,
int flags);
180 void mrsqlite3_close__ (mrsqlite3_t*);
181 int mrsqlite3_is_open (
const mrsqlite3_t*);
184 int mrsqlite3_set_config__ (mrsqlite3_t*,
const char* key,
const char* value);
185 int mrsqlite3_set_config_int__ (mrsqlite3_t*,
const char* key, int32_t value);
186 char* mrsqlite3_get_config__ (mrsqlite3_t*,
const char* key,
const char* def);
187 int32_t mrsqlite3_get_config_int__ (mrsqlite3_t*,
const char* key, int32_t def);
190 sqlite3_stmt* mrsqlite3_predefine__ (mrsqlite3_t*,
size_t idx,
const char* sql);
191 sqlite3_stmt* mrsqlite3_prepare_v2_ (mrsqlite3_t*,
const char* sql);
192 int mrsqlite3_execute__ (mrsqlite3_t*,
const char* sql);
193 int mrsqlite3_table_exists__ (mrsqlite3_t*,
const char* name);
194 void mrsqlite3_log_error (mrsqlite3_t*,
const char* msg, ...);
197 void mrsqlite3_reset_all_predefinitions(mrsqlite3_t*);
203 void mrsqlite3_lock (mrsqlite3_t*);
204 void mrsqlite3_unlock (mrsqlite3_t*);
207 void mrsqlite3_begin_transaction__(mrsqlite3_t*);
208 void mrsqlite3_commit__ (mrsqlite3_t*);
209 void mrsqlite3_rollback__ (mrsqlite3_t*);
An object representing a single mailbox.
Definition: mrmailbox.h:178