Hello, Björn Höfling <bjoern.hoefl...@bjoernhoefling.de> 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 () > <thunk-body>) > (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… Thanks! Ludo’.