summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/database/database.vala4
-rw-r--r--src/database/db-interface.vala3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/database/database.vala b/src/database/database.vala
index 5df63b6..0db7df0 100644
--- a/src/database/database.vala
+++ b/src/database/database.vala
@@ -511,7 +511,9 @@ public class DataBase : Object {
statements["product_create"].bind_int(4, 0);
int rc = statements["product_create"].step();
- if(rc != Sqlite.DONE) {
+ if(rc == Sqlite.CONSTRAINT) {
+ throw new DatabaseError.CONSTRAINT_FAILED(db.errmsg());
+ } else if(rc != Sqlite.DONE) {
throw new DatabaseError.INTERNAL_ERROR("internal error: %d", rc);
}
diff --git a/src/database/db-interface.vala b/src/database/db-interface.vala
index f49a627..31a12ba 100644
--- a/src/database/db-interface.vala
+++ b/src/database/db-interface.vala
@@ -185,5 +185,6 @@ public errordomain DatabaseError {
INTERNAL_ERROR,
PRODUCT_NOT_FOUND,
SESSION_NOT_FOUND,
- USER_NOT_FOUND
+ USER_NOT_FOUND,
+ CONSTRAINT_FAILED,
}