SELECT FOR UPDATE

A lot of BDL programs use pessimistic locking in order to prevent several users editing the same rows at the same time.

DECLARE cc CURSOR FOR
SELECT ... FROM tab WHERE ... FOR UPDATE
OPEN cc
FETCH cc <-- lock is acquired
...
CLOSE cc <-- lock is released 

SQLite does not support the FOR UPDATE close in SELECT syntax.

Solution

Review the program logic and remove SELECT ... FOR UPDATE statements, as SQLite doesn't support them.