It seems that the problem is/was that the application can't create transient files in the "." directory returned by os_unix.c::unixTempFileDir due to Android os file restrictions. It also looks like that this function is not able to correctly check if the folder is writable for transient files , there are some check but all off them passed. Setting the correct temp directory helped but
Is there a preffered way how to set a user temp director for sqlite ? I saw some chances via env variable SQLITE_TMPDIR but not sure if that's the best practise ? kr Martin D?a 22.04.2016 o 13:09 Richard Hipp nap?sal(a): > On 4/22/16, Martin Trnovec <martin.trnovec at pipelinersales.com> wrote: >> Hello, >> >> we are using sqlite 3.12.1 on Android device and we are tring to copy >> content of the one table into another table using >> >> INSERT OR REPLACE INTO <dst_table> SELECT * FROM <src_table> >> >> This commad will fail on Android with error code SQLITE_CANTOPEN when >> - <dst_table> has any triggers configured (also empty one like >> "select 1" ) >> - and the amount of row to be inserted is larger (currently it fails >> if it's 9226 rows but not with 9225 rows) > My guess: unable to open a transient file to store the statement journal. > > Have you tried activating the error and warning log for more details: > https://www.sqlite.org/errlog.html > >> the same code works perfectly on Windows or Mac OS o iOS, when we >> dropped the trigger it works also perfectly on Android ? >> >> Any hints ? >> >> Martin >> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users at mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > -- ------------------------------------------------------------------- Mgr Martin Trnovec Head of development Pipelinersales Inc. R?ntgenova 26, 851 01 Bratislava, Slovakia @: martin.trnovec at pipelinersales.com | www.pipelinersales.com -------------------------------------------------------------------