evolution-data-server r9111 - branches/camel-db-summary/camel
- From: psankar svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r9111 - branches/camel-db-summary/camel
- Date: Thu, 10 Jul 2008 16:50:23 +0000 (UTC)
Author: psankar
Date: Thu Jul 10 16:50:23 2008
New Revision: 9111
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9111&view=rev
Log:
Camel DB code cleanups
Modified:
branches/camel-db-summary/camel/camel-db.c
Modified: branches/camel-db-summary/camel/camel-db.c
==============================================================================
--- branches/camel-db-summary/camel/camel-db.c (original)
+++ branches/camel-db-summary/camel/camel-db.c Thu Jul 10 16:50:23 2008
@@ -40,7 +40,6 @@
#define CAMEL_DB_SLEEP_INTERVAL 1*10*10
#define CAMEL_DB_RELEASE_SQLITE_MEMORY if(!g_getenv("CAMEL_SQLITE_PRESERVE_CACHE")) sqlite3_release_memory(CAMEL_DB_FREE_CACHE_SIZE);
#define CAMEL_DB_USE_SHARED_CACHE if(!g_getenv("CAMEL_SQLITE_SHARED_CACHE_OFF")) sqlite3_enable_shared_cache(TRUE);
-#define CAMEL_DB_SET_CACHE_SIZE if(!g_getenv("CAMEL_SQLITE_DEFAULT_CACHE_SIZE")) camel_db_command (cdb, "PRAGMA cache_size=100", NULL);
static int
cdb_sql_exec (sqlite3 *db, const char* stmt, CamelException *ex)
@@ -48,7 +47,7 @@
char *errmsg;
int ret = -1;
- d(g_print("%s\n", stmt));
+ d(g_print("Camel SQL Exec:\n%s\n", stmt));
ret = sqlite3_exec(db, stmt, 0, 0, &errmsg);
while (ret == SQLITE_BUSY || ret == SQLITE_LOCKED || ret == -1) {
@@ -70,6 +69,7 @@
{
CamelDB *cdb;
sqlite3 *db;
+ char *cache;
int ret;
CAMEL_DB_USE_SHARED_CACHE;
@@ -98,10 +98,16 @@
cdb->lock = g_mutex_new ();
d(g_print ("\nDatabase succesfully opened \n"));
- #warning "make these under g_getenv"
+ /* Which is big / costlier ? A Stack frame or a pointer */
+ if(!g_getenv("CAMEL_SQLITE_DEFAULT_CACHE_SIZE"))
+ cache = g_strdup_printf ("PRAGMA cache_size=%s", g_getenv("CAMEL_SQLITE_DEFAULT_CACHE_SIZE"));
+ else
+ cache = g_strdup ("PRAGMA cache_size=100");
+
+ camel_db_command (cdb, cache, NULL);
+
+ g_free (cache);
- CAMEL_DB_SET_CACHE_SIZE;
-
sqlite3_busy_timeout (cdb->db, CAMEL_DB_SLEEP_INTERVAL);
return cdb;
@@ -246,10 +252,10 @@
CAMEL_DB_RELEASE_SQLITE_MEMORY;
if (ret != SQLITE_OK) {
- g_print ("Error in SQL SELECT statement: %s [%s]\n", query, errmsg);
- camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _(errmsg));
- sqlite3_free (errmsg);
- }
+ g_print ("Error in SQL SELECT statement: %s [%s]\n", query, errmsg);
+ camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _(errmsg));
+ sqlite3_free (errmsg);
+ }
return ret;
}
@@ -457,13 +463,16 @@
read_uids_callback (void *ref, int ncol, char ** cols, char ** name)
{
GPtrArray *array = (GPtrArray *) ref;
- int i;
- #warning Sankar check if it is OK.
+ #if 0
+ int i;
for (i = 0; i < ncol; ++i) {
if (!strcmp (name [i], "uid"))
g_ptr_array_add (array, (char *) (camel_pstring_strdup(cols [i])));
}
+ #else
+ g_ptr_array_add (array, (char *) (camel_pstring_strdup(cols [0])));
+ #endif
return 0;
}
@@ -476,8 +485,6 @@
sel_query = sqlite3_mprintf("SELECT uid FROM %Q", folder_name);
- g_print ("QUERY %s\n", sel_query);
- #warning "handle return values"
ret = camel_db_select (db, sel_query, read_uids_callback, array, ex);
sqlite3_free (sel_query);
@@ -493,8 +500,6 @@
sel_query = sqlite3_mprintf("SELECT uid FROM %Q where junk=1", folder_name);
- g_print ("QUERY %s\n", sel_query);
- #warning "handle return values"
ret = camel_db_select (db, sel_query, read_uids_callback, array, ex);
sqlite3_free (sel_query);
@@ -502,7 +507,7 @@
g_ptr_array_free (array, TRUE);
array = NULL;
}
- return ret;
+ return array;
}
GPtrArray *
@@ -514,8 +519,6 @@
sel_query = sqlite3_mprintf("SELECT uid FROM %Q where deleted=1", folder_name);
- g_print ("QUERY %s\n", sel_query);
- #warning "handle return values"
ret = camel_db_select (db, sel_query, read_uids_callback, array, ex);
sqlite3_free (sel_query);
@@ -524,21 +527,26 @@
array = NULL;
}
- return ret;
+ return array;
}
static int
read_vuids_callback (void *ref, int ncol, char ** cols, char ** name)
{
GPtrArray *array = (GPtrArray *)ref;
+
+ #if 0
int i;
- #warning Sankar check if it is OK.
+
for (i = 0; i < ncol; ++i) {
if (!strcmp (name [i], "vuid"))
g_ptr_array_add (array, (char *) (camel_pstring_strdup(cols [i]+8)));
}
-
+ #else
+ g_ptr_array_add (array, (char *) (camel_pstring_strdup(cols [0]+8)));
+ #endif
+
return 0;
}
@@ -556,8 +564,8 @@
if (cond)
sqlite3_free (cond);
- g_print ("QUERY %s\n", sel_query);
#warning "handle return values"
+ #warning "No The caller should parse the ex in case of NULL returns"
array = g_ptr_array_new ();
camel_db_select (db, sel_query, read_vuids_callback, array, ex);
sqlite3_free (sel_query);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]