uniapper
uniapper
  • 发布:2019-05-31 15:30
  • 更新:2019-06-03 18:54
  • 阅读:1070

【报Bug】sqlite模块,执行事务会锁库

分类:5+ SDK

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]
正常编写plus.sqlite 的事务逻辑。

[结果]
执行第一遍,没问题。
通过chrome://inspec 刷新,或者关闭app再进入该事务页面,直接报:
{code: -1404
message: "android.database.sqlite.SQLiteDatabaseLockedException: database is locked (Sqlite code 5): , while compiling: PRAGMA journal_mode, (OS error - 2:No such file or directory),http://ask.dcloud.net.cn/article/282"
}

[期望]
能够安全的执行事务。

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-05-31 15:30 负责人:无 分享
已邀请:
uniapper

uniapper (作者) - abc

撤回报告!

这个“锁库”的原因,找到了:

在执行CUD sql的过程中发生了异常,没有走到commit/rollback
并且,在CUD的异常处理函数中关闭了数据库连接。

即: 事务没有commit/rollback的情况下关闭了连接,导致sqlite的锁没有释放!

该问题目前已经被锁定, 无法添加新回复