<!-- ##### SECTION Title ##### -->
CamelDB

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### MACRO CAMEL_DB_FILE ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_IN_MEMORY_TABLE ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_IN_MEMORY_DB ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_IN_MEMORY_TABLE_LIMIT ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_FREE_CACHE_SIZE ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_SLEEP_INTERVAL ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_RELEASE_SQLITE_MEMORY ##### -->
<para>

</para>



<!-- ##### MACRO CAMEL_DB_USE_SHARED_CACHE ##### -->
<para>

</para>



<!-- ##### USER_FUNCTION CamelDBCollate ##### -->
<para>

</para>

@Param1: 
@Param2: 
@Param3: 
@Param4: 
@Param5: 
@Returns: 


<!-- ##### STRUCT CamelDB ##### -->
<para>

</para>

@db: 
@lock: 
@priv: 

<!-- ##### STRUCT CamelMIRecord ##### -->
<para>

</para>

@uid: 
@flags: 
@msg_type: 
@dirty: 
@read: 
@deleted: 
@replied: 
@important: 
@junk: 
@attachment: 
@size: 
@dsent: 
@dreceived: 
@subject: 
@from: 
@to: 
@cc: 
@mlist: 
@followup_flag: 
@followup_completed_on: 
@followup_due_by: 
@part: 
@labels: 
@usertags: 
@cinfo: 
@bdata: 
@bodystructure: 

<!-- ##### STRUCT CamelFIRecord ##### -->
<para>

</para>

@folder_name: 
@version: 
@flags: 
@nextuid: 
@time: 
@saved_count: 
@unread_count: 
@deleted_count: 
@junk_count: 
@visible_count: 
@jnd_count: 
@bdata: 

<!-- ##### USER_FUNCTION CamelDBSelectCB ##### -->
<para>

</para>

@data: 
@ncol: 
@colvalues: 
@colnames: 
@Returns: 


<!-- ##### FUNCTION camel_db_open ##### -->
<para>

</para>

@path: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_clone ##### -->
<para>

</para>

@cdb: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_close ##### -->
<para>

</para>

@cdb: 


<!-- ##### FUNCTION camel_db_command ##### -->
<para>

</para>

@cdb: 
@stmt: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_transaction_command ##### -->
<para>

</para>

@cdb: 
@qry_list: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_begin_transaction ##### -->
<para>

</para>

@cdb: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_add_to_transaction ##### -->
<para>

</para>

@cdb: 
@query: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_end_transaction ##### -->
<para>

</para>

@cdb: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_abort_transaction ##### -->
<para>

</para>

@cdb: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_clear_folder_summary ##### -->
<para>

</para>

@cdb: 
@folder: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_rename_folder ##### -->
<para>

</para>

@cdb: 
@old_folder: 
@new_folder: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_delete_folder ##### -->
<para>

</para>

@cdb: 
@folder: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_delete_uid ##### -->
<para>

</para>

@cdb: 
@folder: 
@uid: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_delete_uids ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@uids: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_delete_vuids ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@shash: 
@uids: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_create_folders_table ##### -->
<para>

</para>

@cdb: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_select ##### -->
<para>

</para>

@cdb: 
@stmt: 
@callback: 
@data: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_write_folder_info_record ##### -->
<para>

</para>

@cdb: 
@record: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_read_folder_info_record ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@record: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_prepare_message_info_table ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_write_message_info_record ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@record: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_write_fresh_message_info_record ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@record: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_read_message_info_records ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@p: 
@read_mir_callback: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_read_message_info_record_with_uid ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@uid: 
@p: 
@read_mir_callback: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_junk_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_unread_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_deleted_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_total_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_visible_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_visible_unread_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_junk_not_deleted_message_info ##### -->
<para>

</para>

@cdb: 
@table_name: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_count_message_info ##### -->
<para>

</para>

@cdb: 
@query: 
@count: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_camel_mir_free ##### -->
<para>

</para>

@record: 


<!-- ##### FUNCTION camel_db_create_vfolder ##### -->
<para>

</para>

@db: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_recreate_vfolder ##### -->
<para>

</para>

@db: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_delete_uid_from_vfolder ##### -->
<para>

</para>

@db: 
@folder_name: 
@vuid: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_delete_uid_from_vfolder_transaction ##### -->
<para>

</para>

@db: 
@folder_name: 
@vuid: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_get_vuids_from_vfolder ##### -->
<para>

</para>

@db: 
@folder_name: 
@filter: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_add_to_vfolder ##### -->
<para>

</para>

@db: 
@folder_name: 
@vuid: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_add_to_vfolder_transaction ##### -->
<para>

</para>

@db: 
@folder_name: 
@vuid: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_get_folder_uids ##### -->
<para>

</para>

@db: 
@folder_name: 
@sort_by: 
@collate: 
@array: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_get_folder_junk_uids ##### -->
<para>

</para>

@db: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_get_folder_deleted_uids ##### -->
<para>

</para>

@db: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_sqlize_string ##### -->
<para>

</para>

@string: 
@Returns: 


<!-- ##### FUNCTION camel_db_free_sqlized_string ##### -->
<para>

</para>

@string: 


<!-- ##### FUNCTION camel_db_get_column_name ##### -->
<para>

</para>

@raw_name: 
@Returns: 


<!-- ##### FUNCTION camel_db_set_collate ##### -->
<para>

</para>

@cdb: 
@col: 
@collate: 
@func: 
@Returns: 


<!-- ##### FUNCTION camel_db_migrate_vfolders_to_14 ##### -->
<para>

</para>

@cdb: 
@folder: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_start_in_memory_transactions ##### -->
<para>

</para>

@cdb: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_flush_in_memory_transactions ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_get_folder_preview ##### -->
<para>

</para>

@db: 
@folder_name: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_write_preview_record ##### -->
<para>

</para>

@db: 
@folder_name: 
@uid: 
@msg: 
@error: 
@Returns: 


<!-- ##### FUNCTION camel_db_reset_folder_version ##### -->
<para>

</para>

@cdb: 
@folder_name: 
@reset_version: 
@error: 
@Returns: 


