Hi,
I’m having a pretty significant issue ever since coming up to the iOS 9 compatible Corona builds (currently seeing it on 2015.2731).
It first surfaced when some devices (starting with Sony Xperia Z3 Compact) started failing to perform database updates when they are wrapped in BEGIN TRANSACTION and COMMIT statements. This only happens when there is more that one statement in the transaction (I guess it ignores them anyway when there’s only one statement).
It appears that the transaction is successful (no error when you run it), but when you go to start another transaction (with another BEGIN TRANSACTION) you get a “Cannot start a transaction within a transaction” error thrown by Sqlite.
Using AWS Device Farm I tested on a few more devices and found it was much more widespread than I first realised (no wonder I was getting so many negative reviews on Google Play with my latest release!!). It fails on most of the Sony Xperia family, Samsung Galaxy family, etc. The devices were on a variety of operating system versions (4.4.2, 5.0.2, 5.1.1). I’m sure there’s more, but I stopped testing and started fixing to resolve the immediate issue.
I found that removing the transactions and just firing the queries individually overcame the issue, so I modified my code temporarily to work this way. It’s obviously a pretty dangerous way to operate and I want to resolve the issue asap to get back to using transactions again ASAP.
I tried to replicate with the HelloWorld example, but found it doesn’t happen with simple examples - it’s like it’s something that only happens when the queries are getting bigger or the database is getting bigger. When I copied my database creation code from my main app into a HelloWorld example it started failing with exactly the same error on the specific devices (so I have a worked example of the issue).
I’m inclined to think this is related to a recent Corona update, as it’s very old code that’s been running for ever.
Has any one else come across this?
Would appreciate your input @robmiracle
Nathan.