[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#33407: Cuirass is dropping the SQLite error message when rethrowing
From: |
Björn Höfling |
Subject: |
bug#33407: Cuirass is dropping the SQLite error message when rethrowing |
Date: |
Fri, 16 Nov 2018 22:14:04 +0100 |
On Fri, 16 Nov 2018 21:51:49 +0100
address@hidden (Ludovic Courtès) wrote:
> Hello,
>
> Björn Höfling <address@hidden> 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…
That's quick. Thank you,
Björn
pgpE7_GGyzH63.pgp
Description: OpenPGP digital signature