![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#define CAMEL_DB_FILE #define CAMEL_DB_IN_MEMORY_TABLE #define CAMEL_DB_IN_MEMORY_DB #define CAMEL_DB_IN_MEMORY_TABLE_LIMIT #define CAMEL_DB_FREE_CACHE_SIZE #define CAMEL_DB_SLEEP_INTERVAL #define CAMEL_DB_RELEASE_SQLITE_MEMORY #define CAMEL_DB_USE_SHARED_CACHE gint (*CamelDBCollate) (gpointer Param1
,gint Param2
,gconstpointer Param3
,gint Param4
,gconstpointer Param5
); CamelDB; CamelMIRecord; CamelFIRecord; gint (*CamelDBSelectCB) (gpointer data
,gint ncol
,gchar **colvalues
,gchar **colnames
); CamelDB * camel_db_open (const gchar *path
,GError **error
); CamelDB * camel_db_clone (CamelDB *cdb
,GError **error
); void camel_db_close (CamelDB *cdb
); gint camel_db_command (CamelDB *cdb
,const gchar *stmt
,GError **error
); gint camel_db_transaction_command (CamelDB *cdb
,GSList *qry_list
,GError **error
); gint camel_db_begin_transaction (CamelDB *cdb
,GError **error
); gint camel_db_add_to_transaction (CamelDB *cdb
,const gchar *query
,GError **error
); gint camel_db_end_transaction (CamelDB *cdb
,GError **error
); gint camel_db_abort_transaction (CamelDB *cdb
,GError **error
); gint camel_db_clear_folder_summary (CamelDB *cdb
,const gchar *folder
,GError **error
); gint camel_db_rename_folder (CamelDB *cdb
,const gchar *old_folder
,const gchar *new_folder
,GError **error
); gint camel_db_delete_folder (CamelDB *cdb
,const gchar *folder
,GError **error
); gint camel_db_delete_uid (CamelDB *cdb
,const gchar *folder
,const gchar *uid
,GError **error
); gint camel_db_delete_uids (CamelDB *cdb
,const gchar *folder_name
,GSList *uids
,GError **error
); gint camel_db_delete_vuids (CamelDB *cdb
,const gchar *folder_name
,const gchar *shash
,GSList *uids
,GError **error
); gint camel_db_create_folders_table (CamelDB *cdb
,GError **error
); gint camel_db_select (CamelDB *cdb
,const gchar *stmt
,CamelDBSelectCB callback
,gpointer data
,GError **error
); gint camel_db_write_folder_info_record (CamelDB *cdb
,CamelFIRecord *record
,GError **error
); gint camel_db_read_folder_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelFIRecord **record
,GError **error
); gint camel_db_prepare_message_info_table (CamelDB *cdb
,const gchar *folder_name
,GError **error
); gint camel_db_write_message_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelMIRecord *record
,GError **error
); gint camel_db_write_fresh_message_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelMIRecord *record
,GError **error
); gint camel_db_read_message_info_records (CamelDB *cdb
,const gchar *folder_name
,gpointer p
,CamelDBSelectCB read_mir_callback
,GError **error
); gint camel_db_read_message_info_record_with_uid (CamelDB *cdb
,const gchar *folder_name
,const gchar *uid
,gpointer p
,CamelDBSelectCB read_mir_callback
,GError **error
); gint camel_db_count_junk_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_unread_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_deleted_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_total_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_visible_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_visible_unread_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_junk_not_deleted_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
); gint camel_db_count_message_info (CamelDB *cdb
,const gchar *query
,guint32 *count
,GError **error
); void camel_db_camel_mir_free (CamelMIRecord *record
); gint camel_db_create_vfolder (CamelDB *db
,const gchar *folder_name
,GError **error
); gint camel_db_recreate_vfolder (CamelDB *db
,const gchar *folder_name
,GError **error
); gint camel_db_delete_uid_from_vfolder (CamelDB *db
,gchar *folder_name
,gchar *vuid
,GError **error
); gint camel_db_delete_uid_from_vfolder_transaction (CamelDB *db
,const gchar *folder_name
,const gchar *vuid
,GError **error
); GPtrArray * camel_db_get_vuids_from_vfolder (CamelDB *db
,const gchar *folder_name
,gchar *filter
,GError **error
); gint camel_db_add_to_vfolder (CamelDB *db
,gchar *folder_name
,gchar *vuid
,GError **error
); gint camel_db_add_to_vfolder_transaction (CamelDB *db
,const gchar *folder_name
,const gchar *vuid
,GError **error
); gint camel_db_get_folder_uids (CamelDB *db
,const gchar *folder_name
,const gchar *sort_by
,const gchar *collate
,GPtrArray *array
,GError **error
); GPtrArray * camel_db_get_folder_junk_uids (CamelDB *db
,gchar *folder_name
,GError **error
); GPtrArray * camel_db_get_folder_deleted_uids (CamelDB *db
,const gchar *folder_name
,GError **error
); gchar * camel_db_sqlize_string (const gchar *string
); void camel_db_free_sqlized_string (gchar *string
); gchar * camel_db_get_column_name (const gchar *raw_name
); gint camel_db_set_collate (CamelDB *cdb
,const gchar *col
,const gchar *collate
,CamelDBCollate func
); gint camel_db_migrate_vfolders_to_14 (CamelDB *cdb
,const gchar *folder
,GError **error
); gint camel_db_start_in_memory_transactions (CamelDB *cdb
,GError **error
); gint camel_db_flush_in_memory_transactions (CamelDB *cdb
,const gchar *folder_name
,GError **error
); GHashTable * camel_db_get_folder_preview (CamelDB *db
,const gchar *folder_name
,GError **error
); gint camel_db_write_preview_record (CamelDB *db
,const gchar *folder_name
,const gchar *uid
,const gchar *msg
,GError **error
); gint camel_db_reset_folder_version (CamelDB *cdb
,const gchar *folder_name
,gint reset_version
,GError **error
);
#define CAMEL_DB_RELEASE_SQLITE_MEMORY if(!g_getenv("CAMEL_SQLITE_FREE_CACHE")) sqlite3_release_memory(CAMEL_DB_FREE_CACHE_SIZE);
Since 2.24
#define CAMEL_DB_USE_SHARED_CACHE if(g_getenv("CAMEL_SQLITE_SHARED_CACHE")) sqlite3_enable_shared_cache(TRUE);
Since 2.24
gint (*CamelDBCollate) (gpointer Param1
,gint Param2
,gconstpointer Param3
,gint Param4
,gconstpointer Param5
);
Since 2.24
typedef struct { sqlite3 *db; /* this lock has been replaced with a rw lock which sits inside priv. * This is currently unused. Keeping it, not to break the ABI */ GMutex *lock; CamelDBPrivate *priv; } CamelDB;
Since 2.24
typedef struct { gchar *uid; guint32 flags; guint32 msg_type; guint32 dirty; gboolean read; gboolean deleted; gboolean replied; gboolean important; gboolean junk; gboolean attachment; guint32 size; time_t dsent; time_t dreceived; gchar *subject; gchar *from; gchar *to; gchar *cc; gchar *mlist; gchar *followup_flag; gchar *followup_completed_on; gchar *followup_due_by; gchar *part; gchar *labels; gchar *usertags; gchar *cinfo; gchar *bdata; gchar *bodystructure; } CamelMIRecord;
The extensive DB format, supporting basic searching and sorting.
Message UID | |
Camel Message info flags | |
boolean read status | |
boolean deleted status | |
boolean replied status | |
boolean important status | |
boolean junk status | |
boolean attachment status | |
size of the mail | |
date sent | |
date received | |
subject of the mail | |
sender | |
recipient | |
CC members | |
message list headers | |
followup flag / also can be queried to see for followup or not | |
completed date, can be used to see if completed | |
to see the due by date | |
part / references / thread id | |
labels of mails also called as userflags | |
composite string of user tags | |
content info string - composite string | |
provider specific data | |
Since 2.24
typedef struct { gchar *folder_name; guint32 version; guint32 flags; guint32 nextuid; time_t time; guint32 saved_count; guint32 unread_count; guint32 deleted_count; guint32 junk_count; guint32 visible_count; guint32 jnd_count; /* Junked not deleted */ gchar *bdata; } CamelFIRecord;
Since 2.24
gint (*CamelDBSelectCB) (gpointer data
,gint ncol
,gchar **colvalues
,gchar **colnames
);
Since 2.24
gint camel_db_command (CamelDB *cdb
,const gchar *stmt
,GError **error
);
Since 2.24
gint camel_db_transaction_command (CamelDB *cdb
,GSList *qry_list
,GError **error
);
Since 2.24
gint camel_db_begin_transaction (CamelDB *cdb
,GError **error
);
Since 2.24
gint camel_db_add_to_transaction (CamelDB *cdb
,const gchar *query
,GError **error
);
Since 2.24
gint camel_db_end_transaction (CamelDB *cdb
,GError **error
);
Since 2.24
gint camel_db_abort_transaction (CamelDB *cdb
,GError **error
);
Since 2.24
gint camel_db_clear_folder_summary (CamelDB *cdb
,const gchar *folder
,GError **error
);
Since 2.24
gint camel_db_rename_folder (CamelDB *cdb
,const gchar *old_folder
,const gchar *new_folder
,GError **error
);
Since 2.24
gint camel_db_delete_folder (CamelDB *cdb
,const gchar *folder
,GError **error
);
Since 2.24
gint camel_db_delete_uid (CamelDB *cdb
,const gchar *folder
,const gchar *uid
,GError **error
);
Since 2.24
gint camel_db_delete_uids (CamelDB *cdb
,const gchar *folder_name
,GSList *uids
,GError **error
);
Since 2.24
gint camel_db_delete_vuids (CamelDB *cdb
,const gchar *folder_name
,const gchar *shash
,GSList *uids
,GError **error
);
Since 2.26
gint camel_db_create_folders_table (CamelDB *cdb
,GError **error
);
Since 2.24
gint camel_db_select (CamelDB *cdb
,const gchar *stmt
,CamelDBSelectCB callback
,gpointer data
,GError **error
);
Since 2.24
gint camel_db_write_folder_info_record (CamelDB *cdb
,CamelFIRecord *record
,GError **error
);
Since 2.24
gint camel_db_read_folder_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelFIRecord **record
,GError **error
);
Since 2.24
gint camel_db_prepare_message_info_table (CamelDB *cdb
,const gchar *folder_name
,GError **error
);
Since 2.24
gint camel_db_write_message_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelMIRecord *record
,GError **error
);
Since 2.24
gint camel_db_write_fresh_message_info_record (CamelDB *cdb
,const gchar *folder_name
,CamelMIRecord *record
,GError **error
);
Since 2.26
gint camel_db_read_message_info_records (CamelDB *cdb
,const gchar *folder_name
,gpointer p
,CamelDBSelectCB read_mir_callback
,GError **error
);
Since 2.24
gint camel_db_read_message_info_record_with_uid (CamelDB *cdb
,const gchar *folder_name
,const gchar *uid
,gpointer p
,CamelDBSelectCB read_mir_callback
,GError **error
);
Since 2.24
gint camel_db_count_junk_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since 2.24
gint camel_db_count_unread_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since 2.24
gint camel_db_count_deleted_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since 2.24
gint camel_db_count_total_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since 2.24
gint camel_db_count_visible_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since 2.24
gint camel_db_count_visible_unread_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
Since 2.24
gint camel_db_count_junk_not_deleted_message_info (CamelDB *cdb
,const gchar *table_name
,guint32 *count
,GError **error
);
gint camel_db_count_message_info (CamelDB *cdb
,const gchar *query
,guint32 *count
,GError **error
);
Since 2.26
gint camel_db_create_vfolder (CamelDB *db
,const gchar *folder_name
,GError **error
);
Since 2.24
gint camel_db_recreate_vfolder (CamelDB *db
,const gchar *folder_name
,GError **error
);
Since 2.24
gint camel_db_delete_uid_from_vfolder (CamelDB *db
,gchar *folder_name
,gchar *vuid
,GError **error
);
Since 2.24
gint camel_db_delete_uid_from_vfolder_transaction (CamelDB *db
,const gchar *folder_name
,const gchar *vuid
,GError **error
);
Since 2.24
GPtrArray * camel_db_get_vuids_from_vfolder (CamelDB *db
,const gchar *folder_name
,gchar *filter
,GError **error
);
Since 2.24
gint camel_db_add_to_vfolder (CamelDB *db
,gchar *folder_name
,gchar *vuid
,GError **error
);
Since 2.24
gint camel_db_add_to_vfolder_transaction (CamelDB *db
,const gchar *folder_name
,const gchar *vuid
,GError **error
);
Since 2.24
gint camel_db_get_folder_uids (CamelDB *db
,const gchar *folder_name
,const gchar *sort_by
,const gchar *collate
,GPtrArray *array
,GError **error
);
Since 2.24
GPtrArray * camel_db_get_folder_junk_uids (CamelDB *db
,gchar *folder_name
,GError **error
);
Since 2.24
GPtrArray * camel_db_get_folder_deleted_uids (CamelDB *db
,const gchar *folder_name
,GError **error
);
Since 2.24
gint camel_db_set_collate (CamelDB *cdb
,const gchar *col
,const gchar *collate
,CamelDBCollate func
);
Since 2.24
gint camel_db_migrate_vfolders_to_14 (CamelDB *cdb
,const gchar *folder
,GError **error
);
Since 2.24
gint camel_db_start_in_memory_transactions (CamelDB *cdb
,GError **error
);
Since 2.26
gint camel_db_flush_in_memory_transactions (CamelDB *cdb
,const gchar *folder_name
,GError **error
);
Since 2.26
GHashTable * camel_db_get_folder_preview (CamelDB *db
,const gchar *folder_name
,GError **error
);
Since 2.28
gint camel_db_write_preview_record (CamelDB *db
,const gchar *folder_name
,const gchar *uid
,const gchar *msg
,GError **error
);
Since 2.28
gint camel_db_reset_folder_version (CamelDB *cdb
,const gchar *folder_name
,gint reset_version
,GError **error
);
Since 2.28