tracker r1738 - in branches/indexer-split: . src/libtracker-db
- From: mr svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1738 - in branches/indexer-split: . src/libtracker-db
- Date: Mon, 23 Jun 2008 16:04:15 +0000 (UTC)
Author: mr
Date: Mon Jun 23 16:04:15 2008
New Revision: 1738
URL: http://svn.gnome.org/viewvc/tracker?rev=1738&view=rev
Log:
* src/libtracker-db/tracker-db-interface-sqlite.c: Improve error
reporting here so we say if the query used is foobar OR if it is a
geniune error.
* src/libtracker-db/tracker-db-manager.c: Strip whitespace before
trying to load queries from SQL files. Also, present a count when
done so we know how many we loaded as a measure of testing it
worked properly.
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c
branches/indexer-split/src/libtracker-db/tracker-db-manager.c
Modified: branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c (original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-interface-sqlite.c Mon Jun 23 16:04:15 2008
@@ -516,18 +516,27 @@
TrackerDBInterfaceSqlitePrivate *priv;
TrackerDBResultSet *result_set;
sqlite3_stmt *stmt;
+ int retval;
priv = TRACKER_DB_INTERFACE_SQLITE_GET_PRIVATE (db_interface);
- sqlite3_prepare_v2 (priv->db, query, -1, &stmt, NULL);
+ retval = sqlite3_prepare_v2 (priv->db, query, -1, &stmt, NULL);
- if (!stmt) {
+ if (retval != SQLITE_OK) {
g_set_error (error,
TRACKER_DB_INTERFACE_ERROR,
TRACKER_DB_QUERY_ERROR,
sqlite3_errmsg (priv->db));
return NULL;
- }
+ } else if (stmt == NULL) {
+ g_set_error (error,
+ TRACKER_DB_INTERFACE_ERROR,
+ TRACKER_DB_QUERY_ERROR,
+ "Could not prepare SQL statement:'%s'",
+ query);
+
+ return NULL;
+ }
result_set = create_result_set_from_stmt (TRACKER_DB_INTERFACE_SQLITE (db_interface), stmt, error);
sqlite3_finalize (stmt);
Modified: branches/indexer-split/src/libtracker-db/tracker-db-manager.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-manager.c (original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-manager.c Mon Jun 23 16:04:15 2008
@@ -180,7 +180,8 @@
const gchar *delimiter)
{
gchar *path, *content, **queries;
- gint i;
+ gint count;
+ gint i;
path = g_build_filename (sql_dir, file, NULL);
@@ -196,16 +197,29 @@
queries = g_strsplit (content, delimiter, -1);
- for (i = 0; queries[i]; i++) {
+ for (i = 0, count = 0; queries[i]; i++) {
GError *error = NULL;
- tracker_db_interface_execute_query (iface, &error, queries[i]);
+ gchar *sql;
+
+ /* Skip white space, including control characters */
+ for (sql = queries[i]; sql && g_ascii_isspace (sql[0]); sql++);
+
+ if (!sql || sql[0] == '\0') {
+ continue;
+ }
+
+ tracker_db_interface_execute_query (iface, &error, sql);
+
if (error) {
- g_warning ("Error loading '%s:%d': '%s'", file, i, error->message);
+ g_warning ("Error loading query:'%s' #%d, %s", file, i, error->message);
g_error_free (error);
+ continue;
}
+
+ count++;
}
- g_message (" Loaded SQL file:'%s'", file);
+ g_message (" Loaded SQL file:'%s' (%d queries)", file, count);
g_strfreev (queries);
g_free (content);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]