嵌入式数据库 SQLite 3.23.1 发布

clouddyy
 clouddyy
发布于 2018年04月11日
收藏 4

嵌入式数据库 SQLite 3.23.1 发布,包含大量更新。

SQLite 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

更新:

  1. Add the sqlite3_serialize() and sqlite3_deserialize() interfaces when the SQLITE_ENABLE_DESERIALIZE compile-time option is used.

  2. Recognize TRUE and FALSE as constants. (For compatibility, if there exist columns named "true" or "false", then the identifiers refer to the columns rather than Boolean constants.)

  3. Support operators IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE.

  4. Added the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status() for reporting the number of cache spills that have occurred.

  5. The "alternate-form-2" flag ("!") on the built-in printf implementation now causes string substitutions to measure the width and precision in characters instead of bytes.

  6. If the xColumn method in a virtual table implementation returns an error message using sqlite3_result_error() then give that error message preference over internally-generated messages.

  7. Added the -A command-line option to the CLI to make it easier to manage SQLite Archive files.

  8. Add support for INSERT OR REPLACE, INSERT OR IGNORE, and UPDATE OR REPLACE in the Zipfile virtual table.

  9. Enhance the sqlite3changeset_apply() interface so that it is hardened against attacks from deliberately corrupted changeset objects.

  10. Added the sqlite3_normalize() extension function.

  11. Query optimizer enhancements:

    1. Improve the omit-left-join optimization so that it works in cases where the right-hand table is UNIQUE but not necessarily NOT NULL.

    2. Improve the push-down optimization so that it works for many LEFT JOINs.

    3. Add the LEFT JOIN strength reduction optimization that converts a LEFT JOIN into an ordinary JOIN if there exist terms in the WHERE clause that would prevent the extra all-NULL row of the LEFT JOIN from appearing in the output set.

    4. Avoid unnecessary writes to the sqlite_sequence table when an AUTOINCREMENT table is updated with an rowid that is less than the maximum.

  12. Bug fixes:

    1. Fix the parser to accept valid row value syntax. Ticket 7310e2fb3d046a5

    2. Fix the query planner so that it takes into account dependencies in the arguments to table-valued functions in subexpressions in the WHERE clause. Ticket 80177f0c226ff54

    3. Fix incorrect result with complex OR-connected WHERE and STAT4. Ticket ec32177c99ccac2

    4. Fix potential corruption in indexes on expressions due to automatic datatype conversions. Ticket 343634942dd54ab

    5. Assertion fault in FTS4. Ticket d6ec09eccf68cfc

    6. Incorrect result on the less-than operator in row values. Ticket f484b65f3d62305

    7. Always interpret non-zero floating-point values as TRUE, even if the integer part is zero. Ticket 36fae083b450e3a

    8. Fix an issue in the fsdir(PATH) table-valued function to the fileio.c extension, that caused a segfault if the fsdir() table was used as the inner table of a join. Problem reported on the mailing list and fixed by check-in 7ce4e71c1b7251be

    9. Issue an error rather instead of an assertion-fault or null-pointer dereference when the sqlite_master table is corrupted so that the sqlite_sequence table root page is really a btree-index page. Check-in 525deb7a67fbd647

    10. Fix the ANALYZE command so that it computes statistics on tables whose names begin with "sqlite". Check-in 0249d9aecf69948d

详情见发布公告

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:嵌入式数据库 SQLite 3.23.1 发布
加载中

最新评论(2

郭大侠
郭大侠

引用来自“开源中国首席头号玩家”的评论

请问数据库是怎么编写开发的,用java怎么写一个数据库?
System.out.println("一个数据库");
开源中国首席罗纳尔多
开源中国首席罗纳尔多
请问数据库是怎么编写开发的,用java怎么写一个数据库?
返回顶部
顶部