Release Notes for MariaDB Connector/ODBC 3.1.17
This page is part of MariaDB's Documentation.
The parent of this page is: Release Notes for MariaDB Connector/ODBC 3.1
Topics on this page:
Overview
MariaDB Connector/ODBC is a standard ODBC driver for building cross-platform applications on top of MariaDB database products. It is compliant with ODBC 3.5. It is written in C and uses MariaDB Connector/C.
MariaDB Connector/ODBC 3.1.17 was released on 2022-08-30. This release is of General Availability (GA) maturity.
Notable Changes
On macOS and Microsoft Windows, MariaDB Connector/ODBC 3.1.17 is statically linked with MariaDB Connector/C 3.3.2.
On Linux, MariaDB Connector/ODBC 3.1.17 is dynamically linked with MariaDB Connector/C. MariaDB Connector/C versions 3.2 or greater can be used. Version 3.3 or greater is required for the failover feature.
Result set streaming has been added to reduce memory usage while fetching results from the server. (ODBC-369)
When result set streaming is enabled, the application fetches the result set from the server row-by-row instead of caching the entire result set on the client side. Since the application is not caching the entire result set, the application uses less memory when working with large result sets.
The new
NO_CACHE
connection parameter (or theSTREAMRS
alias) can be used to enable result set streaming. The existingOPTIONS
connection parameter can also be used to enable result set streaming by setting bit number20
in the bitmask (equivalent to the value1048576
).Result set streaming is only supported for forward-only cursors. Applications can make all cursors forward-only by enabling the
FORWARDONLY
connection parameter or using theOPTION
connection parameter to set bit number21
in the bit mask (equivalent to the value2097152
).When result set streaming is enabled, it is only used in the following cases:
When the application makes all cursors forward-only, result set streaming is used for all cursors.
When the application does not make all cursors forward-only, result set streaming is only used for individual cursors that are explicitly made forward-only by setting the
SQL_ATTR_CURSOR_TYPE
attribute toSQL_CURSOR_FORWARD_ONLY
using theSQLSetStmtAttr()
function.
Result set streaming does not work with all features supported by Connector/ODBC:
When a cursor is using result set streaming, the cursor position can't be changed using functions like
SQLSetPos()
When a cursor is using result set streaming, no other queries can be executed until the application fetches the entire result set. When a query is blocked by a concurrent streaming operation, an error is raised with
SQLState=HY000
and the following error message:The requested operation is blocked by another streaming operation