Release Notes for MariaDB Connector/ODBC 3.1.17
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.
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.
NO_CACHEconnection parameter (or the
STREAMRSalias) can be used to enable result set streaming. The existing
OPTIONSconnection parameter can also be used to enable result set streaming by setting bit number
20in the bitmask (equivalent to the value
Result set streaming is only supported for forward-only cursors. Applications can make all cursors forward-only by enabling the
FORWARDONLYconnection parameter or using the
OPTIONconnection parameter to set bit number
21in the bit mask (equivalent to the value
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
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
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=HY000and the following error message:
The requested operation is blocked by another streaming operation