当前位置:首页 > 数据库 > SQlite

Android sqlite3_limit?

我想使用sqlite3_limit函数来设置附加数据库的最大数量.

sqlite3_limit(db, SQLITE_LIMIT_ATTACHED, 62);

问题1 – 如何(如果有的话)我可以在Android中执行此操作?

我在这里读过http://sqlite.org/limits.html – 第11点.

默认情况下有10个附加数据库的软限制,但是我刚刚成功附加了11个数据库.

问题2 – Android上最大附加数据库的默认行为是什么? – 是否设置为SQlite3强制施加的硬限制为62?如果是这样,这就是我所需要的.

谢谢你们

解决方法:

sqlite3_limit只能用于降低限制:

Run-time limits are intended for use in applications that manage both their own internal database and also databases that are controlled by untrusted external sources. […] The internal databases can be given the large, default limits. Databases managed by external sources can be given much smaller limits designed to prevent a denial of service attack.

编译SQLite时,硬限制使用符号SQLITE_MAX_ATTACHED设置:

For each limit category SQLITE_LIMIT_NAME there is a hard upper bound set at compile-time by a C preprocessor macro called SQLITE_MAX_NAME. […] Attempts to increase a limit above its hard upper bound are silently truncated to the hard upper bound.

似乎在您的Android设备上,供应商确实增加了硬限制,但您无法保证在其他所有设备上都是如此.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!