You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
Prior to SQLite version 3.6.18 (2009-09-11), recursive triggers were not supported. The behavior of SQLite was always as if this pragma was set to OFF. Support for recursive triggers was added in version 3.6.18 but was initially turned OFF by default, for compatibility. Recursive triggers may be turned on by default in future versions of SQLite.
So I think the fix for the complex issue in #149 is to turn on recursive_triggers globally by default for sqlite-utils.
The principle reason to turn these on - at least so far - is that without it weird things happen where FTS tables (in particular *_fts_docsize) grow without limit over time, because calls to INSERT OR REPLACE against the parent table cause additional rows to be inserted into *_fts_docsize even if the row was replaced rather than being inserted.