[tracker/rss-enclosures] libtracker-data: Merge DataError into SparqlError



commit d228b80f426d0937b4175cf6fd64f4adff43b87e
Author: Jürg Billeter <j bitron ch>
Date:   Tue Aug 17 17:30:28 2010 +0200

    libtracker-data: Merge DataError into SparqlError

 src/libtracker-data/libtracker-data.vapi       |   17 ++++-----------
 src/libtracker-data/tracker-data-update.c      |   26 ++++++++++-------------
 src/libtracker-data/tracker-data-update.h      |   10 ---------
 src/libtracker-data/tracker-sparql-query.vala  |   18 ++++++++--------
 src/libtracker-data/tracker-turtle-reader.vala |    4 +-
 src/libtracker-sparql/tracker-connection.vala  |    2 +
 6 files changed, 29 insertions(+), 48 deletions(-)
---
diff --git a/src/libtracker-data/libtracker-data.vapi b/src/libtracker-data/libtracker-data.vapi
index b427e3f..b74c3d5 100644
--- a/src/libtracker-data/libtracker-data.vapi
+++ b/src/libtracker-data/libtracker-data.vapi
@@ -124,13 +124,6 @@ namespace Tracker {
 		public unowned Property[] get_properties ();
 	}
 
-	[CCode (cheader_filename = "libtracker-data/tracker-data-update.h")]
-	public errordomain DataError {
-		UNKNOWN_CLASS,
-		UNKNOWN_PROPERTY,
-		INVALID_TYPE
-	}
-
 	[CCode (cheader_filename = "libtracker-data/tracker-data-query.h,libtracker-data/tracker-data-update.h")]
 	namespace Data {
 		public int query_resource_id (string uri);
@@ -139,11 +132,11 @@ namespace Tracker {
 		public void begin_transaction () throws DBInterfaceError;
 		public void commit_transaction () throws DBInterfaceError;
 		public void rollback_transaction ();
-		public void delete_statement (string graph, string subject, string predicate, string object) throws DataError, DateError;
-		public void insert_statement (string graph, string subject, string predicate, string object) throws DataError, DateError;
-		public void insert_statement_with_uri (string graph, string subject, string predicate, string object) throws DataError;
-		public void insert_statement_with_string (string graph, string subject, string predicate, string object) throws DataError, DateError;
-		public void delete_resource_description (string graph, string uri) throws DataError;
+		public void delete_statement (string graph, string subject, string predicate, string object) throws Sparql.Error, DateError;
+		public void insert_statement (string graph, string subject, string predicate, string object) throws Sparql.Error, DateError;
+		public void insert_statement_with_uri (string graph, string subject, string predicate, string object) throws Sparql.Error;
+		public void insert_statement_with_string (string graph, string subject, string predicate, string object) throws Sparql.Error, DateError;
+		public void delete_resource_description (string graph, string uri) throws Sparql.Error;
 		public void update_buffer_flush () throws DBInterfaceError;
 		public void update_buffer_might_flush () throws DBInterfaceError;
 	}
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index 33f5d3c..24bb00b 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -333,10 +333,6 @@ tracker_data_remove_delete_statement_callback (TrackerStatementCallback callback
 	}
 }
 
-GQuark tracker_data_error_quark (void) {
-	return g_quark_from_static_string ("tracker_data_error-quark");
-}
-
 static gint
 tracker_data_update_get_new_service_id (void)
 {
@@ -1246,7 +1242,7 @@ get_old_property_values (TrackerProperty  *property,
 	old_values = g_hash_table_lookup (resource_buffer->predicates, property);
 	if (old_values == NULL) {
 		if (!check_property_domain (property)) {
-			g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_CONSTRAINT,
+			g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_CONSTRAINT,
 			             "Subject `%s' is not in domain `%s' of property `%s'",
 			             resource_buffer->subject,
 			             tracker_class_get_name (tracker_property_get_domain (property)),
@@ -1432,7 +1428,7 @@ cache_set_metadata_decomposed (TrackerProperty  *property,
 			new_value_str = g_value_get_string (&new_value);
 		}
 
-		g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_CONSTRAINT,
+		g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_CONSTRAINT,
 		             "Unable to insert multiple values for subject `%s' and single valued property `%s' "
 		             "(old_value: '%s', new value: '%s')",
 		             resource_buffer->subject,
@@ -1797,7 +1793,7 @@ tracker_data_delete_statement (const gchar  *graph,
 
 			cache_delete_resource_type (class, graph, 0);
 		} else {
-			g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_UNKNOWN_CLASS,
+			g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_CLASS,
 			             "Class '%s' not found in the ontology", object);
 		}
 	} else {
@@ -1824,7 +1820,7 @@ tracker_data_delete_statement (const gchar  *graph,
 				}
 			}
 		} else {
-			g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_UNKNOWN_PROPERTY,
+			g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_PROPERTY,
 			             "Property '%s' not found in the ontology", predicate);
 		}
 
@@ -1914,7 +1910,7 @@ tracker_data_insert_statement (const gchar            *graph,
 			tracker_data_insert_statement_with_string (graph, subject, predicate, object, error);
 		}
 	} else {
-		g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_UNKNOWN_PROPERTY,
+		g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_PROPERTY,
 		             "Property '%s' not found in the ontology", predicate);
 	}
 }
@@ -1939,12 +1935,12 @@ tracker_data_insert_statement_with_uri (const gchar            *graph,
 
 	property = tracker_ontologies_get_property_by_uri (predicate);
 	if (property == NULL) {
-		g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_UNKNOWN_PROPERTY,
+		g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_PROPERTY,
 		             "Property '%s' not found in the ontology", predicate);
 		return;
 	} else {
 		if (tracker_property_get_data_type (property) != TRACKER_PROPERTY_TYPE_RESOURCE) {
-			g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_INVALID_TYPE,
+			g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_TYPE,
 			             "Property '%s' does not accept URIs", predicate);
 			return;
 		}
@@ -2003,7 +1999,7 @@ tracker_data_insert_statement_with_uri (const gchar            *graph,
 		if (class != NULL) {
 			cache_create_service_decomposed (class, graph, 0);
 		} else {
-			g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_UNKNOWN_CLASS,
+			g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_CLASS,
 			             "Class '%s' not found in the ontology", object);
 			return;
 		}
@@ -2059,12 +2055,12 @@ tracker_data_insert_statement_with_string (const gchar            *graph,
 
 	property = tracker_ontologies_get_property_by_uri (predicate);
 	if (property == NULL) {
-		g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_UNKNOWN_PROPERTY,
+		g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_UNKNOWN_PROPERTY,
 		             "Property '%s' not found in the ontology", predicate);
 		return;
 	} else {
 		if (tracker_property_get_data_type (property) == TRACKER_PROPERTY_TYPE_RESOURCE) {
-			g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_INVALID_TYPE,
+			g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_TYPE,
 			             "Property '%s' only accepts URIs", predicate);
 			return;
 		}
@@ -2116,7 +2112,7 @@ tracker_data_begin_transaction (GError **error)
 	g_return_if_fail (!in_transaction);
 
 	if (!tracker_db_manager_has_enough_space ()) {
-		g_set_error (error, TRACKER_DATA_ERROR, TRACKER_DATA_ERROR_NO_SPACE,
+		g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_NO_SPACE,
 			"There is not enough space on the file system for update operations");
 		return;
 	}
diff --git a/src/libtracker-data/tracker-data-update.h b/src/libtracker-data/tracker-data-update.h
index cd45aaf..f2d65d2 100644
--- a/src/libtracker-data/tracker-data-update.h
+++ b/src/libtracker-data/tracker-data-update.h
@@ -34,16 +34,6 @@ G_BEGIN_DECLS
 #error "only <libtracker-data/tracker-data.h> must be included directly."
 #endif
 
-#define TRACKER_DATA_ERROR tracker_data_error_quark ()
-
-typedef enum  {
-	TRACKER_DATA_ERROR_UNKNOWN_CLASS,
-	TRACKER_DATA_ERROR_UNKNOWN_PROPERTY,
-	TRACKER_DATA_ERROR_INVALID_TYPE,
-	TRACKER_DATA_ERROR_CONSTRAINT,
-	TRACKER_DATA_ERROR_NO_SPACE
-} TrackerDataError;
-
 typedef void (*TrackerStatementCallback) (const gchar *graph,
                                           const gchar *subject,
                                           const gchar *predicate,
diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala
index fef92a9..a68eba4 100644
--- a/src/libtracker-data/tracker-sparql-query.vala
+++ b/src/libtracker-data/tracker-sparql-query.vala
@@ -431,7 +431,7 @@ public class Tracker.Sparql.Query : Object {
 		}
 	}
 
-	public PtrArray? execute_update (bool blank) throws DataError, DBInterfaceError, Sparql.Error, DateError {
+	public PtrArray? execute_update (bool blank) throws DBInterfaceError, Sparql.Error, DateError {
 		assert (update_extensions);
 
 		scanner = new SparqlScanner ((char*) query_string, (long) query_string.size ());
@@ -591,7 +591,7 @@ public class Tracker.Sparql.Query : Object {
 		}
 	}
 
-	PtrArray? execute_insert_or_delete (bool blank) throws DBInterfaceError, DataError, Sparql.Error, DateError {
+	PtrArray? execute_insert_or_delete (bool blank) throws DBInterfaceError, Sparql.Error, DateError {
 		// INSERT or DELETE
 
 		if (accept (SparqlTokenType.WITH)) {
@@ -723,7 +723,7 @@ public class Tracker.Sparql.Query : Object {
 		return update_blank_nodes;
 	}
 
-	void execute_drop_graph () throws DBInterfaceError, DataError, Sparql.Error {
+	void execute_drop_graph () throws DBInterfaceError, Sparql.Error {
 		expect (SparqlTokenType.DROP);
 		expect (SparqlTokenType.GRAPH);
 
@@ -761,7 +761,7 @@ public class Tracker.Sparql.Query : Object {
 		}
 	}
 
-	void parse_construct_triples_block (HashTable<string,string> var_value_map) throws Sparql.Error, DataError, DateError {
+	void parse_construct_triples_block (HashTable<string,string> var_value_map) throws Sparql.Error, DateError {
 		expect (SparqlTokenType.OPEN_BRACE);
 
 		while (current () != SparqlTokenType.CLOSE_BRACE) {
@@ -798,7 +798,7 @@ public class Tracker.Sparql.Query : Object {
 
 	bool anon_blank_node_open = false;
 
-	string parse_construct_var_or_term (HashTable<string,string> var_value_map) throws Sparql.Error, DataError, DateError {
+	string parse_construct_var_or_term (HashTable<string,string> var_value_map) throws Sparql.Error, DateError {
 		string result = "";
 		if (current () == SparqlTokenType.VAR) {
 			next ();
@@ -883,7 +883,7 @@ public class Tracker.Sparql.Query : Object {
 		return result;
 	}
 
-	void parse_construct_property_list_not_empty (HashTable<string,string> var_value_map) throws Sparql.Error, DataError, DateError {
+	void parse_construct_property_list_not_empty (HashTable<string,string> var_value_map) throws Sparql.Error, DateError {
 		while (true) {
 			var old_predicate = current_predicate;
 
@@ -920,7 +920,7 @@ public class Tracker.Sparql.Query : Object {
 		}
 	}
 
-	void parse_construct_object_list (HashTable<string,string> var_value_map) throws Sparql.Error, DataError, DateError {
+	void parse_construct_object_list (HashTable<string,string> var_value_map) throws Sparql.Error, DateError {
 		while (true) {
 			parse_construct_object (var_value_map);
 			if (accept (SparqlTokenType.COMMA)) {
@@ -930,7 +930,7 @@ public class Tracker.Sparql.Query : Object {
 		}
 	}
 
-	void parse_construct_object (HashTable<string,string> var_value_map) throws Sparql.Error, DataError, DateError {
+	void parse_construct_object (HashTable<string,string> var_value_map) throws Sparql.Error, DateError {
 		string object = parse_construct_var_or_term (var_value_map);
 		try {
 			if (delete_statements) {
@@ -940,7 +940,7 @@ public class Tracker.Sparql.Query : Object {
 				// insert triple into database
 				Data.insert_statement (current_graph, current_subject, current_predicate, object);
 			}
-		} catch (DataError e) {
+		} catch (Sparql.Error e) {
 			if (!silent) {
 				throw e;
 			}
diff --git a/src/libtracker-data/tracker-turtle-reader.vala b/src/libtracker-data/tracker-turtle-reader.vala
index 778a746..2cf44be 100644
--- a/src/libtracker-data/tracker-turtle-reader.vala
+++ b/src/libtracker-data/tracker-turtle-reader.vala
@@ -365,7 +365,7 @@ public class Tracker.TurtleReader : Object {
 		}
 	}
 
-	public static void load (string path) throws FileError, Sparql.Error, DataError, DateError, DBInterfaceError {
+	public static void load (string path) throws FileError, Sparql.Error, DateError, DBInterfaceError {
 		try {
 			Data.begin_transaction ();
 
@@ -380,7 +380,7 @@ public class Tracker.TurtleReader : Object {
 			}
 
 			Data.commit_transaction ();
-		} catch (DataError e) {
+		} catch (Sparql.Error e) {
 			Data.rollback_transaction ();
 			throw e;
 		} catch (DBInterfaceError e) {
diff --git a/src/libtracker-sparql/tracker-connection.vala b/src/libtracker-sparql/tracker-connection.vala
index 7e3f8d4..9f740c4 100644
--- a/src/libtracker-sparql/tracker-connection.vala
+++ b/src/libtracker-sparql/tracker-connection.vala
@@ -65,6 +65,8 @@ public errordomain Tracker.Sparql.Error {
 	UNKNOWN_CLASS,
 	UNKNOWN_PROPERTY,
 	TYPE,
+	CONSTRAINT,
+	NO_SPACE,
 	INTERNAL,
 	UNSUPPORTED
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]