DISQLite3 Pro 5.23.0 D4-XE10.2
DISQLite3 implements a self-contained, embeddable, zero-configuration SQL database engine for Delphi (Embarcadero / CodeGear / Borland).
ACID transactions, even after system crashes and power failures.
Zero-configuration – no setup or administration needed.
Implements most of SQL-92.
A complete database is stored in a single disk file.
Supports terabyte-sized databases and gigabyte-sized strings and blobs. Self-contained: no external dependencies, no DLLs.
Small footprint and smart linking: Only required code is compiled in, adding as little as 300 KB code space only.
Full Text Search (FTS) with customizable tokenizer, prefix matching, and optional word stemming for 15 languages.
Database AES encryption with SHA256 key generator.
Db.pas is not required, which allows DISQLite3 to compile with all flavours of Delphi, including Delphi Standard and Delphi Personal.
Faster than popular database engines for most common operations.
Simple, easy to use API.
Database files created with DISQLite3 can also be accessed by Linux and MacOS using the SQLite3 libraries.
DISQLite3 Drive Catalog Demo ApplicationDISQLite3 understands most of the SQL-92 language standard:
DISQLite3 Mathematical Expression Evaluator Demo Applicationdrop TABLE
ON CONFLICT clause
The complete SQL syntax is described in full length in the DISQLite3 HTML Help, part of the installation package.
Simple Programming Interface
DISQLite3 Database Encryption Demo ApplicationDISQLite3 provides a comprehensive list of functions and procedures to manage database records with ease and efficiency. It includes the full SQLite3 functionality, plus a number of Delphi specific extras:
AnsiString, UnicodeString / WideString, and Variant support.
Database and Statement wrapper classes.
TStream support for BLOBs.
Growing number of Delphi example projects.
Despite of its rich set of features, a DISQLite3 database application can be realized with just three different function calls.
DISQLite3 5.23.0 The output of sqlite3_trace_v2 now shows each individual SQL statement run within a trigger. Add the ability to read from WAL mode databases even if the application lacks write permission on the database and its containing directory, as long as the -shm and -wal files exist in that directory. Added the rtreecheck scalar SQL function to the R-Tree extension. Added the sqlite3_vtab_nochange and sqlite3_value_nochange interfaces to help virtual table implementations optimize UPDATE operations. Added the sqlite3_vtab_collation interface. Added support for the “^” initial token syntax in FTS5. New extensions: The Zipfile virtual table can read and write a ZIP Archive. The sqlite_btreeinfo eponymous virtual table for introspecting and estimating the sizes of the btrees in a database. The Append VFS is a VFS shim that allows an SQLite database to be appended to some other file. This allows (for example) a database to be appended to an executable that then opens and reads the database. The incremental_index_check is a read-only eponymous-only virtual table that checkes indexes. SQLAR compatible SQL compress and decompress functions. Query planner enhancements: The optimization that uses an index to quickly compute an aggregate min() or max() is extended to work with indexes on expressions. The decision of whether to implement a FROM-clause subquery as a co-routine or using query flattening now considers whether the result set of the outer query is “complex” (if it contains functions or expression subqueries). A complex result set biases the decision toward the use of co-routines. The planner avoids query plans that use indexes with unknown collating functions. The planner omits unused LEFT JOINs even if they are not the right-most joins of a query. Other performance optimizations: A smaller and faster implementation of text to floating-point conversion subroutine: sqlite3AtoF(). Faster SQL parser. Provide the sqlite_offset(X) SQL function that returns the byte offset into the database file to the beginning of the record holding value X. Bug fixes: Infinite loop on an UPDATE that uses an OR operator in the WHERE clause. Incorrect query results when the skip-ahead-distinct optimization is used. Incorrect query results on a join with a ORDER BY DESC. Inconsistent result set column names between CREATE TABLE AS and a simple SELECT. Assertion fault when doing REPLACE on an index on an expression. Assertion fault when doing an IN operator on a constant index. Correct sqlite3_update_hook callback zDB argument type.