2***@qq.com
2***@qq.com
  • 发布:2023-12-18 09:58
  • 更新:2023-12-18 10:47
  • 阅读:124

【报Bug】sqlite在alter新加字段后首次select查询必报row too big

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: DBY-W09

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
plus.sqlite.executeSql({  
    name: 'pop',  
    sql: `ALTER TABLE ${table} ADD COLUMN ${field} INTERER`,  
})  
plus.sqlite.selectSql({  
    name: 'pop',  
    sql: `SELECT * FROM ${table}`,  
})

预期结果:

返回正确数据

实际结果:

初次查询报错

{  
    "code": -1404,  
    "message": "android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1,http://ask.dcloud.net.cn/article/282"  
}

bug描述:

sqlite在alter新加字段后首次select查询报错

{  
    "code": -1404,  
    "message": "android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1,http://ask.dcloud.net.cn/article/282"  
}

只有第一次查询会报错, 跟数据太大无关
INTERER和TEXT都试过, 跟字段类型也无关

2023-12-18 09:58 负责人:无 分享
已邀请:

最佳回复

2***@qq.com

2***@qq.com (作者)

试了一下, alter完以后先关掉数据库再打开就正常了...

2***@qq.com

2***@qq.com (作者)

多试了几次, 查询复杂语句才会报row too big, 而且并不是第二次就好了, 如果第二次也是复杂语句而且和第一次不一样的话也会报错

要回复问题请先登录注册