Hi, Dan. > On 12/18/2014 02:41 PM, Paul wrote: > >> I want to confirm that issue is fixed for me. > >> Thanks again, Dan! > >> > >> > >> Please ignore this update, patch fixes this problem as well. > >> > >>> I want to add even more input for this issue. > >>> I understand why there is implicit savepoint, when I remove row from > >>> 'parent' table. > >>> But why is this also true for a 'child' table when I perform 'INSERT OR > >>> REPLACE'? > >>> Removing FK reference disables journal growth. I don't understand... > >>> > > > > > > At the end of the day my head was so big that I, having some ten different > > test cases, > > have errourneously confirmed that 'INSERT OR REPLACE' is fixed also, by > > running wrong test. > > But sadly it isn't. Here, I'll drop my test program again, for clarity. > > I don't think there is an easy fix for this one. The statement journal > is required, as SQLite may need to reinstate rows deleted by the REPLACE > processing if the FK constraint fails. > > To fix this properly, it probably needs to use a more sophisticated data > structure than the statement journal. Which would complicate things > some. But at the moment it seems like SAVEPOINT and very large > transactions don't work well together. >
I understand. I guess, I'll have to stick to UPDATE <-> INSERT. Thank you for taking your time. Just out of curiosity, I want to ask one more question. How can FK constraint fail if I am removing (replacing) row from the 'child' table? Best regards, Paul _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users