You are correct Gili, we should be able to. Can you create a self contained test case? Thanks.
On Friday, 7 June 2013, cowwoc wrote: > Hi Thomas, > > I actually ended up doing exactly that, but the original question > remains: can we provide a better error message? > > Thanks, > Gili > > On 07/06/2013 10:07 AM, Thomas Mueller wrote: > > Hi, > > What about changing the constraint: > > CHECK (SELECT count(*) FROM calls, participants > WHERE participants.id IN (from_participant_id, to_participant_id) > and participants.call_id=call_id) > 0); > > Regards, > Thomas > > > > On Fri, Jun 7, 2013 at 3:38 PM, cowwoc > <[email protected]<javascript:_e({}, 'cvml', > '[email protected]');> > > wrote: > >> On 07/06/2013 5:03 AM, Noel Grandin wrote: >> >>> >>> On 2013-06-07 01:32, Gili wrote: >>> >>>> >>>> 2. When I insert into this table, it fails with the following >>>> stack-trace: >>>> >>>> 3. As you can see, the error message points to the INSERT statement but >>>> in fact the error is in the CHECK constraint. >>>> 4. Expected behavior: stack-trace should reference CHECK constraint, >>>> not INSERT statement. >>>> >>>> >>> How exactly would we distinguish between an error with the CHECK and an >>> error with the INSERT? >>> >>> We are executing the CHECK constraint when the INSERT occurs, and the >>> INSERT fails, so the error message points to the INSERT. >>> >>> If you can come up with some foolproof method of distinguishing between >>> - a failure of a CHECK constraint because the constraint is broken >>> vs >>> - a failure in the CHECK constraint because the INSERT was broken >>> then, sure, we can try to fix it. >>> >>> But I just don't see it. >>> >>> This is one of those cases where we give you lots of flexibility, and >>> the price you pay for the flexibility is that weird errors can happen. >>> >>> >> Hi Noel, >> >> Before answering the question, could you please explain what "a >> failure in the CHECK constraint because the INSERT was broken" actually >> means? When/how would that occur? >> >> Thanks, >> Gili >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "H2 Database" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:_e({}, >> 'cvml', 'h2-database%[email protected]');>. >> To post to this group, send email to >> [email protected]<javascript:_e({}, 'cvml', >> '[email protected]');> >> . >> Visit this group at http://groups.google.com/group/h2-database?hl=en-US. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "H2 Database" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/h2-database/h3GLzmtTTIk/unsubscribe?hl=en-US > . > To unsubscribe from this group and all its topics, send an email to > [email protected] <javascript:_e({}, 'cvml', > '[email protected]');>. > To post to this group, send email to > [email protected]<javascript:_e({}, 'cvml', > '[email protected]');> > . > Visit this group at http://groups.google.com/group/h2-database?hl=en-US. > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- > You received this message because you are subscribed to the Google Groups > "H2 Database" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:_e({}, > 'cvml', 'h2-database%[email protected]');>. > To post to this group, send email to > [email protected]<javascript:_e({}, 'cvml', > '[email protected]');> > . > Visit this group at http://groups.google.com/group/h2-database?hl=en-US. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.
