diff options
author | Sebastian Reichel <sre@ring0.de> | 2016-01-21 21:23:27 +0100 |
---|---|---|
committer | Sebastian Reichel <sre@ring0.de> | 2016-01-21 21:23:27 +0100 |
commit | cb7c28e7a38e55b0e5b6a477dfe24e4a96e09dab (patch) | |
tree | 6dce0b0bfb24476e12ad08aa9a60e86e186083af /src/database/database.vala | |
parent | cf2e52f7e6bcc4dc87315ec0d9aed010b1ceb4d6 (diff) | |
download | serial-barcode-scanner-cb7c28e7a38e55b0e5b6a477dfe24e4a96e09dab.tar.bz2 |
database: handle sqlite constraint exception specially
Diffstat (limited to 'src/database/database.vala')
-rw-r--r-- | src/database/database.vala | 4 |
1 files changed, 3 insertions, 1 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); } |