On Fri, 16 Nov 2018 21:51:49 +0100 ludo@gnu.org (Ludovic Courtès) wrote: > Hello, > > Björn Höfling skribis: > > > is this a bug or by intention? > > > > In src/cuirass/database.scm, in the db-add-* procedures, we have a > > catch-clause like this: > > > > (with-db-critical-section db > > (catch 'sqlite-error > > (lambda () > > ) > > (lambda (key who code message . rest) > > ;; If we get a unique-constraint-failed error, that means > > we have ;; already inserted the same checkout. That happens for > > each input ;; that doesn't change between two evaluations. > > (if (= code SQLITE_CONSTRAINT_PRIMARYKEY) > > #f > > (apply throw key who code rest)))))) > > -------------------------------------^ > > > > Here the message is not re-thrown. > > > > It would have made my life easier if I saw this message: > > > > "NOT NULL constraint failed: Builds.system" > > Oops, good catch! Fixed in commit > d0ed3341d7201d0332e9aeb0af80e0ec635aeb1e. > > I also factorized the exception handler in the previous commit because > there were 3 copies of this bug… That's quick. Thank you, Björn