Using the command line tools from the website 3.6.18 reports the error correctly;
SQLite version 3.6.18 sqlite> PRAGMA recursive_triggers = on; sqlite> CREATE TABLE t5 (a primary key, b, c); sqlite> INSERT INTO t5 values (1, 2, 3); sqlite> CREATE TRIGGER au_tbl AFTER UPDATE ON t5 BEGIN UPDATE OR IGNORE t5 SET a = new.a, c = 10; END; sqlite> UPDATE OR REPLACE t5 SET a = 4 WHERE a = 1 ; SQL error: too many levels of trigger recursion 3.6.21 does not handle it properly SQLite version 3.6.21 sqlite> PRAGMA recursive_triggers = on; sqlite> CREATE TABLE t5 (a primary key, b, c); sqlite> INSERT INTO t5 values (1, 2, 3); sqlite> CREATE TRIGGER au_tbl AFTER UPDATE ON t5 BEGIN UPDATE OR IGNORE t5 SET a = new.a, c = 10; END; sqlite> UPDATE OR REPLACE t5 SET a = 4 WHERE a = 1 ; Error: SQL logic error or missing database BACKGROUND: I was trying to get the test triggerC-1.11 in triggerC.test to work correctly; The assert in btree.c at line 3699 in the routine sqlite3BtreeRollback was failing returning a 2000, rather than 0 assert( countWriteCursors(pBt)==0 ); Regards, Noah Hart CONFIDENTIALITY NOTICE: This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users