release notes:
- https://www.sqlite.org/releaselog/3_45_2.html
Changes in this specific patch release, version 3.45.2 (2024-03-12):
- Fix an error in UPSERT, introduced by enhancement 3a in version 3.35.0 (2021-03-12), that could cause an index to get out-of-sync with its table. Forum thread 919c6579c8.
- Reduce the scope of the NOT NULL strength reduction optimization that was added as item 8e in version 3.35.0 (2021-03-12). The optimization was being attempted in some contexts where it did not work, resulting in incorrect query results. Forum thread 440f2a2f17.
- Other trifling corrections and compiler warning fixes that have come up since the previous patch release. See the timeline for details.
release log:
- https://www.sqlite.org/releaselog/3_40_1.html
Additional changes in version 3.40.1 (2022-12-28):
- Fix the --safe command-line option to the CLI such that it correctly
disallows the use of SQL functions like writefile() that can cause
harmful side-effects.
- Fix a potential infinite loop in the memsys5 alternative memory allocator.
This bug was introduced by a performance optimization in version 3.39.0.
- Various other obscure fixes.
update 3.37.1 to 3.38.2
release logs:
- https://www.sqlite.org/releaselog/3_37_2.html
- https://www.sqlite.org/releaselog/3_38_2.html
Additional changes in version 3.37.2 (2022-01-06):
Fix a bug introduced in version 3.35.0 (2021-03-12) that can cause
database corruption if a SAVEPOINT is rolled back while in PRAGMA
temp_store=MEMORY mode, and other changes are made, and then the outer
transaction commits. Check-in 73c2b50211d3ae26
Fix a long-standing problem with ON DELETE CASCADE and ON UPDATE CASCADE
in which a cache of the bytecode used to implement the cascading change
was not being reset following a local DDL change. Check-in
5232c9777fe4fb13.
Other minor fixes that should not impact production builds.
Changes in version 3.38.0 (2022-02-22):
Added the -> and ->> operators for easier processing of JSON. The new
operators are compatible with MySQL and PostgreSQL.
The JSON functions are now built-ins. It is no longer necessary to use
the -DSQLITE_ENABLE_JSON1 compile-time option to enable JSON support.
JSON is on by default. Disable the JSON interface using the new
-DSQLITE_OMIT_JSON compile-time option.
Enhancements to date and time functions:
Added the unixepoch() function.
Added the auto modifier and the julianday modifier.
Rename the printf() SQL function to format() for better compatibility.
The original printf() name is retained as an alias for backwards
compatibility.
Added the sqlite3_error_offset() interface, which can sometimes help to
localize an SQL error to a specific character in the input SQL text, so
that applications can provide better error messages.
Enhanced the interface to virtual tables as follows:
Added the sqlite3_vtab_distinct() interface.
Added the sqlite3_vtab_rhs_value() interface.
Added new operator types SQLITE_INDEX_CONSTRAINT_LIMIT and
SQLITE_INDEX_CONSTRAINT_OFFSET.
Added the sqlite3_vtab_in() interface (and related) to enable a virtual
table to process IN operator constraints all at once, rather than
processing each value of the right-hand side of the IN operator
separately.
CLI enhancements:
Columnar output modes are enhanced to correctly handle tabs and newlines
embedded in text.
Added options like "--wrap N", "--wordwrap on", and "--quote" to the
columnar output modes.
Added the .mode qbox alias.
The .import command automatically disambiguates column names.
Use the new sqlite3_error_offset() interface to provide better error
messages.
Query planner enhancements:
Use a Bloom filter to speed up large analytic queries.
Use a balanced merge tree to evaluate UNION or UNION ALL compound SELECT
statements that have an ORDER BY clause.
The ALTER TABLE statement is changed to silently ignores entries in the
sqlite_schema table that do not parse when PRAGMA writable_schema=ON.
Additional changes in version 3.38.1 (2022-03-12):
Fix problems with the new Bloom filter optimization that might cause
some obscure queries to get an incorrect answer.
Fix the localtime modifier of the date and time functions so that it
preserves fractional seconds.
Fix the sqlite_offset SQL function so that it works correctly even in
corner cases such as when the argument is a virtual column or the column
of a view.
Fix row value IN operator constraints on virtual tables so that they
work correctly even if the virtual table implementation relies on
bytecode to filter rows that do not satisfy the constraint.
Other minor fixes to assert() statements, test cases, and documentation.
See the source code timeline for details.
Additional changes in version 3.38.2 (2022-03-26):
Fix another user-discovered problem with the new Bloom filter
optimization that might cause an incorrect answer when doing a LEFT JOIN
with a WHERE clause constraint that says that one of the columns on the
right table of the LEFT JOIN is NULL. See forum thread 031e262a89b6a9d2.
Other minor patches. See the timeline for details.
https://mariadb.com/kb/en/changes-and-improvements-in-mariadb-connector-c-32/
New Features
- MDEV-19237: Do not resend prepared statement metadata unnecessarily
- CONC-508: Added support for passwords > 255 characters
- LOAD DATA LOCAL is now supported in binary protocol
- Updated/extended cipher suite list for Schannel TLS module
- CONC-433: Added support for certificate revocation list in GnuTLS module
- CONC-547: Changed default character set from latin1 to utf8mb4
- CONC-533: Added support for non blocking calls using binary protocol
- CONC-509: mysql_get_client_* api functions now return Connector version
Notable changes:
- The connection plugin "aurora" was removed
- Default character set is now utf8mb4
- Character set utf8 will be mapped to utf8mb3
- Added support for MSVC asan
- CONC-566: If a stored procedure was executed as server side cursor and
server doesn't set the SERVER_STATUS_CURSOR_EXISTS status flag, the
result set will not be processed as a server side cursor.
- MDEV-26761: If mariadb_stmt_execute_direct fails, the number of
parameters (obtained by response packet of mysql_stmt_prepare) will be
set back to the number of prebinded parameters to avoid memory overrun.
- CONC-568: The API function mysql_load_plugin_v() now returns the plugin
handle (instead of raising an error and returning a NULL handle) even if
the plugin was already loaded. This will avoid possible race conditions,
when one thread is loading the plugin while another thread waits for the
lock to load the same plugin.
- Xcode compatibility update (Thanks to Sergei Krivonos for his contribution)
- CONC-570: Removed callback function for crypto threads, since the
callback function cannot be cleared (this affects OpenSSL <= 1.0.2 only)
- BETA: https://mariadb.com/kb/en/mariadb-connector-c-320-release-notes/
- RC: https://mariadb.com/kb/en/mariadb-connector-c-322-release-notes/
- STABLE: https://mariadb.com/kb/en/mariadb-connector-c-323-release-notes/
- STABLE: https://mariadb.com/kb/en/mariadb-connector-c-324-release-notes/
- STABLE: https://mariadb.com/kb/en/mariadb-connector-c-325-release-notes/