I have these options ... version 3.23.0. "SQLITE_ENABLE_LOCKING_STYLE=0","SQLITE_THREADSAFE=0","SQLITE_OMIT_UTF16","SQLITE_ENABLE_COLUMN_METADATA=1", "SQLITE_DEFAULT_FOREIGN_KEYS=1"
This is the end of operations... It's starting to get an option... 13:31:12.541|88A000008724~n...@sack.cc(91500):Getting option {DEFAULT}[System Settings]Enable System Mapping=0 It selects from option4_name the name_id that = "system settings" 13:31:12.543|88A000008724~n...@sack.cc(91500):Do Command[000001EA9BCE24EC:*/../option.db]: select name_id from option4_name where name like 'System Settings' it returns a UUID of that name 13:31:12.544|88A000008724~n...@sack.cc (85945):cc47f95a-e79a-11e7-872c-2e6fc90d301f this checks to see if the option already exists... 13:31:12.546|88A000008724~n...@sack.cc(91500):Do Command[000001EA9BCE24EC:*/../option.db]: select option_id from option4_map where parent_option_id='69c9627f-e285-11e7-8728-2c6fc90d3020' and name_id='cc47f95a-e79a-11e7-872c-2e6fc90d301f' And it does not. 13:31:12.547|88A000008724~n...@sack.cc(85661):no data This opens a new connection to the database ( * B6E7EC instead of * CE24EC ); and starts a transation for the inserts. 13:31:23.409|88A000008724~n...@sack.cc(84179):Do Command[000001EA9DB6E7EC:*/../option.db]: BEGIN TRANSACTION This does an insert of the above queried node with the UUID of the name returned from option4_name 13:31:23.410|88A000008724~n...@sack.cc(92559):Do Command[000001EA9DB6E7EC:*/../option.db]: Insert into option4_map(`option_id`,`parent_option_id`,`name_id`) values ('7f597a7b-9437-11e8-8745-2c6fc90d3020','69c9627f-e285-11e7-8728-2c6fc90d3020','cc47f95a-e79a-11e7-872c-2e6fc90d301f') And the operation fails. 13:31:23.418|88A000008724~n...@sack.cc(92567):Error inserting option: Result of prepare failed? foreign key mismatch - "option4_map" referencing "option4_name" at char 191[] in [Insert into option4_map(`option_id`,`parent_option_id`,`name_id`) values ('7f597a7b-9437-11e8-8745-2c6fc90d3020','69c9627f-e285-11e7-8728-2c6fc90d3020','cc47f95a-e79a-11e7-872c-2e6fc90d301f')] Is there something about the combination of options I've used? There will only be 1 thread ever in sqlite library code at a time. (the number after the logging timestamp is the thread ID 88A000008724 ) So not only is it one thread, but is the same thread always. there shouldn't be any outstanding operations.... correction there aren't any other outstanding operations on the database. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users