SQLite代码28“打开时重命名了文件”

汤姆·汉明

这是这个问题的必然结果

我有一个Mac应用程序,它广泛使用sqlite。几个线程在sqlite代码中陷入僵局,而没有使用任何共享资源。我已经通过sqlite3_config函数设置了sqlite_config_log,并且不断收到代码为28的消息:

打开时重命名的文件:

代码28是SQLITE_WARNING。我发现似乎是记录该警告源代码(在页面中搜索“打开时重命名的文件”),似乎应该为我提供了有问题的文件的路径,但这并没有通过日志语句。我什至在我的日志函数中设置了一个断点,并检查了“文件重命名”字符串的内存,并且那里没有文件名。它不仅因为错误的空字符而切断了日志。

我也知道我实际上没有重命名文件。在创建文件后立即向我发出此警告。相同的代码在iOS应用程序(与sqlite版本3.7.13链接,而Mac为3.8.5)上运行,而不会生成警告。因此,问题是:除了重命名文件之外,还有什么可能导致此警告?

更新:如果在对数据库运行任何语句之前将数据库转换为DELETE日志模式,则不会出现警告。

汤姆·汉明

通过将最新版本的SQLite作为源捆绑到我的项目中,而不是与dylib链接,我能够解决此问题这是sqlite中的某种错误,可能是由于以下原因引起的:由于我的应用程序如何管理文件,它在磁盘上创建了一个空文件,然后将其传递给sqlite以创建数据库文件(而不是将sqlite传递至一个空的位置)。我当前正在运行3.8.8.2; 我认为优胜美地捆绑的版本是3.7。iOS 8中使用了相同的版本,并在我的同伴iOS应用程序中引起了相同的问题。

注意:如果将sqlite捆绑到Xcode项目中,请确保已定义HAVE_USLEEP,否则它将整秒钟等待锁等待

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQLite代码28“打开时重命名了文件”

来自分类Dev

上载时重命名文件

来自分类Dev

上载时重命名文件

来自分类Dev

Emacs打开文件时不区分大小写,并在保存时将其重命名?

来自分类Dev

重命名列名时的SQLITE语法错误代码1

来自分类Dev

阅读时如何修改` mv printf`代码仅重命名某些文件类型的文件?

来自分类Dev

在写入文件时重命名文件

来自分类Dev

在php中上传时重命名文件

来自分类Dev

使用DD名称时重命名文件

来自分类Dev

复制时如何重命名文件?

来自分类Dev

重命名文件时,Thunar崩溃

来自分类Dev

重命名时不会删除文件

来自分类Dev

上传时如何重命名文件

来自分类Dev

重命名文件时避免替换空格

来自分类Dev

如何在WebStorm中快速重命名打开的文件?

来自分类Dev

重命名崇高文本2中的打开文件

来自分类Dev

如何在WebStorm中快速重命名打开的文件?

来自分类Dev

无法使用打开的文件句柄重命名目录

来自分类Dev

重命名代码中的Android文件夹

来自分类Dev

代码块(新项目/重命名主文件)

来自分类Dev

这个PHP文件重命名代码有什么问题?

来自分类Dev

重新共享文件重命名活动代码分析

来自分类Dev

写入文件时重命名文件是否100%安全?

来自分类Dev

平滑运算符:在写入文件时重命名文件

来自分类Dev

使用Maven构建WAR文件时重命名静态文件

来自分类Dev

Java文件上传在上传时重命名文件

来自分类Dev

发现重复文件时,在Camel中重命名文件

来自分类Dev

写入文件时重命名文件是否100%安全?

来自分类Dev

在遍历文件时使用FileSystemObject重命名文件