Added a new
OCI_CONFIG_PROFILEconnection option to define a profile set in
OCI_CONFIG_FILE; and it defaults to DEFAULT. These options are for the authentication_oci_client plugin used with the Oracle Cloud Infrastructure (OCI) to support ephemeral key pairs and security tokens.
Also moved "OCI Config File" from the "Connection" tab to the "Authentication" tab in the GUI next to the new "OCI Config Profile" option. (WL #15482)
Improved JSON data character support by presenting JSON columns as utf8mb4 strings instead of binary data. This change also affected the following ODBC functions:
SQLColumns()result set changes:
DATA_TYPE (column #5) and SQL_DATA_TYPE (column #14) are now SQL_LONGVARCHAR or SQL_WLONGVARCHAR depending on the driver type (ANSI or UNICODE); previously it was always SQL_LONGVARCHAR.
COLUMN_SIZE (column #7) and BUFFER_LENGTH (column #8) are now 4294967295; previously they were NULL.
CHAR_OCTET_LENGTH (column #16) is now 4294967295; previously it was 0.
SQLDescribeCol()result parameter changes:
The DataTypePtr parameter returns SQL_LONGVARCHAR or SQL_WLONGVARCHAR depending on the driver type (ANSI or UNICODE); previously it was always SQL_LONGVARCHAR.
The SQL_DESC_CONCISE_TYPE and SQL_DESC_TYPE field identifiers return SQL_LONGVARCHAR or SQL_WLONGVARCHAR depending on the driver type (ANSI or UNICODE); previously it was always SQL_LONGVARCHAR.
The SQL_DESC_DISPLAY_SIZE field identifier returns 1073741823; previously it was -2. It's calculated as 4G/(UTF8MB4_SIZE).
The SQL_DESC_LOCAL_TYPE_NAME field identifier returns an empty string; previously it was SQL_ERROR.
The SQL_DESC_TYPE_NAME field identifier returns the type name as a character string "JSON"; previously it was a garbled string.
Packaging: Improved the MSI installer compatibilities so that driver versions for different architectures are no longer interdependent. All dependency libraries and executables are installed with the driver, a driver can be installed in a non-default directory, and driver architecture and licensing information is now visible in the list of installed applications. (Bug #35084016)
When using client-side prepared statements (NO_SSPS=1), a _utf8mb4 prefix was added to string data sent from the client side even if utf8mb4 was already defined as the character set. Unnecessary prefixes were removed. (Bug #35075941)
The SQL_MAX_CONCURRENT_ACTIVITIES value changed from 0 (unlimited) to 1 because Connector/ODBC supports one active statement per connection. (Bug #34916959)
On macOS, Connector/ODBC now locates iODBC libraries installed via Homebrew. (Bug #34529199)
JSON column data was not properly translated; the data is now interpreted as UTF8MB4 instead of BINARY. A workaround was to cast the JSON column as CHAR. (Bug #33353465)
Connector/ODBC now sets the following performance_schema connection attributes, which coincide with how other connectors behave: _connector_version (the connector version, such as 8.0.33), _connector_license (the connector's license type, such as GPL-2.0 or Commercial), _connector_name (always set to mysql-connector-odbc), and _connector_type (the ODBC driver type, either ANSI or Unicode). (Bug #33137632, WL #15417)
With using ADO/VB6, updating a record set containing a field of type BIT with cursor location adUseServer could emit an error. The connector now marks BIG(N>1) columns as not searchable to exclude them from WHERE clauses produced by ADO/VB6. As before, type BIT is still reported as ODBC type SQL_BINARY to preserve backwards compatibility. (Bug #16590994)
Improved prepared statement performance by decreasing the frequency of setlocale() calls used to enforce the '.' character as a decimal separator. (Bug #107745, Bug #34350417)
Renamed compare() to parser_compare() in the parser module to avoid a symbol collision with the XSB ODBC interface. (Bug #70493, Bug #26474343)