On 06/04/2012, at 12:12 AM, Richard Hipp wrote:

> The way SQLite keeps track of foreign key constraints is by use of a counter. 
>  When foreign key constraints are violated, the counter increments and when 
> the constraints are resolved, the counter decrements, and an error is issued 
> at transaction commit if the counter is not zero.  But if the counter is not 
> zero, we don't have any way of knowing which of the many constraints caused 
> the problem.

Please change this. Use a hash table or array or something instead of a counter 
so SQLite knows what constraint failed. I have no doubt that your programming 
skill far exceeds mine, but this is a common requirement in software design, 
even for a relative pleb like me.

I have spent hours a day lately on a particular database design project 
tracking down why constraints and foreign keys failed during batch imports. 
More descriptive errors from SQLite would have saved me many of those hours.

Thanks for your consideration,
Tom

Tom Brodhurst-Hill
BareFeetWare

--
iPhone/iPad/iPod and Mac software development, specialising in databases
develo...@barefeetware.com
--
Twitter: http://twitter.com/barefeetware/
Facebook: http://www.facebook.com/BareFeetWare

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to