6 MONGODB

============================================================================== Simba MongoDB ODBC Driver with SQL Connector Release Notes ==============================================================================

The release notes provide details of enhancements, features, known issues, and workflow changes in Simba MongoDB ODBC Driver 2.3.13, as well as the version history.

For information about upcoming support deprecations or removals, see the Workflow Changes section. Deprecated features will not receive any updates, but will continue to be usable in their current state until support is removed in a future release.

2.3.13 =======================================================================

Released 2021-01-19

Enhancements & New Features

  • [MDBO-725] Updated logging configurations

You can now configure logging for the current connection by setting the logging configuration properties in the DSN or in a connection string. For more information, see the Installation and Configuration Guide.

  • [MDBO-726] Updated OpenSSL version

The driver now uses OpenSSL version 1.1.1g. Previously, the driver used OpenSSL version 1.1.1d.

Resolved Issues The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.13.

  • [MDBO-719] In some cases, when querying MAX() in SQL_WVARCHAR or SQL_VARCHAR with column lengths larger than 8000, the string is truncated.

Known Issues The following are known issues that you may encounter due to limitations in the data source, the driver, or an application.

  • [MDBO-691] The driver does not support executing SQLStatistics on views.

This is a limitation of the MongoDB server.

  • [MDBO-501] When connecting through a client application in which auto-commit mode is disabled, the connection fails and the driver returns an error.

Connections where auto-commit is disabled in the client application are not supported by default.

As a workaround, set the IgnoreTransactions property to 1. For more information, see the Installation and Configuration Guide.

  • When mixed type filtering is disabled, the driver fails to filter boolean data when the data includes Boolean and other types.

To successfully filter this kind of data, you must enable mixed type filtering by selecting the "Enable Mixed Type Filter" check box in the DSN Setup dialog box or by setting the EnableMixedTypeFilter connection property to 1.

  • On AIX, you cannot create new schema definitions using the Schema Editor.

The Schema Editor application is not supported on AIX, so you cannot create and save new schema definitions. When connecting to a database, the AIX driver must use a temporary schema definition that is generated during connection time or a persistent schema definition that was created on another platform.

  • Driver does not use the maximum string column length specified through the Schema Editor.

As a workaround, configure the maximum string column length by using the String Column Size configuration option (the DefaultStringColumnLength key) in the driver instead.

  • Driver does not prevent you from specifying MongoDB column and table names that contain invalid syntax.

  • UPDATE statements are not supported for columnar views of arrays.

  • Aggregation passdown requires the field being passed down to contain data that is all of the same type.

Workflow Changes =============================================================

The following changes may disrupt established workflows for the driver.

In addition to changes that are already implemented in the current version of the driver, this section describes potentially disruptive changes that will be implemented in a future version of the driver, so that you can plan accordingly.

Upcoming ---------------------------------------------------------------------

In addition to changes that are already implemented in the current version of the driver, this section describes potentially disruptive changes that will be implemented in a future version of the driver, so that you can plan accordingly.

  • [MDBO-641][MDBO-647][MDBO-649] Removing support for multiple operating systems

As early as February 2021, the driver will no longer support the following operating systems: - Windows 7 - Windows Server 2008 and 2008 R2 - CentOS 6 - Red Hat Enterprise Linux (RHEL) 6 - macOS 10.9, 10.10, 10.11, and 10.12

For a list of supported operating systems, see the Installation and Configuration Guide.

  • [MDBO-645] Removing support for the Visual C++ Redistributable for Visual Studio 2013

As early as February 2021, the driver will require the 2015 version of this dependency instead of the 2013 version.

To download the installation packages for the Visual C++ Redistributable for Visual Studio 2015, go to https://www.microsoft.com/en-ca/download/details.aspx?id=48145.

2.3.13 -----------------------------------------------------------------------

  • [MDBO-734] Removed support for MongoDB 3.4

Beginning with this release, the driver no longer supports MongoDB 3.4.

  • [MDBO-727] PWD and ENCRYPTED_PWD values

On Windows, when both PWD and ENCRYPTED_PWD are provided in the connection string or the registry, the PWD value takes precedence. If PWD is not provided, the value from ENCRYPTED_PWD is read. Previously, the password was always read from ENCRYPTED_PWD if it was provided.

2.3.10 -----------------------------------------------------------------------

  • Updated JSON records

Previously, if an existing record had key-value pairs that were not specified in an incoming update, these values would continue to exist as part of the JSON record. With this release, the driver default behavior now deletes any key-value pairs that are not specified in a new JSON record. If you want to preserve key-value pairs under these circumstances, you can configure this behavior using the ReplaceDocumentAsJsonOnUpdate property. For more information, see the Installation and Configuration Guide.

2.3.5 ------------------------------------------------------------------------

  • Removed support for MongoDB 3.0 and 3.2

Beginning with this release, the driver no longer supports MongoDB server versions 3.0 and 3.2. For a list of supported MongoDB versions, see the Installation and Configuration Guide.

Version History ==============================================================

2.3.12 -----------------------------------------------------------------------

Released 2020-08-28

Enhancements & New Features

  • [MDBO-669] Persist schema maps

You can now configure the driver to persist schema maps to a file or publish to MongoDB without using the Schema Editor. To do this, set the PersistMetadata property to 1 or 2. For more information, see the Installation and Configuration Guide.

  • [MDBO-714] Optimize connection time when generating schema maps

You can now configure the driver to optimize the connection time when connecting to a MongoDB instance with UseJsonColumn enabled and generating a schema map. To do this, set the SampleCollections property to 0. For more information, see the Installation and Configuration Guide.

  • [MDBO-692] Bypass schema validation

You can now configure the driver to bypass schema validation. To do this, select the Enable BypassDocumentValidation check box (set the BypassDocumentValidation connection property to 1). For more information, see the Installation and Configuration Guide.

  • [MDBO-708] Updated third-party library

The driver now uses Mongo-c-driver version 1.17.0. Previously, the driver used Mongo-c-driver version 1.15.3.

2.3.11 -----------------------------------------------------------------------

Released 2020-07-10

Enhancements & New Features

  • [MDBO-625] Updated MongoDB support

The driver now supports MongoDB 4.2. For a complete list of supported MongoDB versions, see the Installation and Configuration Guide.

  • [MDBO-701][MDBO-704] Support for additional operating systems

The driver now supports the following operating systems: - Windows Server 2019 - macOS 10.15 "Catalina"

For a complete list of supported operating systems, see the Installation and Configuration Guide.

  • [MDBO-643] Support for notarization

The driver now supports notarization on macOS systems, enabling it to be run on macOS versions 10.14.6 and later.

  • [MDBO-644] Code-signed driver files

The Windows and macOS versions of the driver are now code-signed.

  • [MDBO-670][MDBO-688]]MDBO-699] Updated third-party libraries

The driver now uses the following versions of these third-party libraries: - expat 2.2.9 (previously 2.2.0) - Mongo-c-driver 1.15.3 (previously 1.13.0) - OpenSSL 1.1.1d (previously 1.1.0j)

Resolved Issues The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.11.

  • [MDBO-700] The driver terminates unexpectedly when both of the following occur:
  • Multiple database drivers are loaded to the same process.
  • One driver unloads and calls ICU's u_cleanup() function, while another driver continues to run and tries to access the memory space that has been cleaned up.

2.3.10 -----------------------------------------------------------------------

Released 2019-11-08

Resolved Issues The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.10.

  • [MDBO-597] When updating JSON records, if the existing record has key- value pairs that are not specified of the update, these values continue to exist as part of the record.

This issue has been resolved. By default, the driver now deletes any key- value pairs that are not specified in the incoming JSON record. If you want to preserve key-value pairs under these circumstances, you can configure this behavior using the ReplaceDocumentAsJsonOnUpdate property. For more information, see the Installation and Configuration Guide.

2.3.9 ------------------------------------------------------------------------

Released 2019-10-04

Enhancements & New Features

  • [MDBO-554] Updated support for Debian installation

The Linux driver now includes installation packages specific to Debian systems. For more information, see the Installation and Configuration Guide.

Resolved Issues The following issue was resolved in Simba MongoDB ODBC Driver 2.3.9.

  • [MDBO-597] If the driver attempts to insert invalid JSON into a DocumentAsJSON column, the driver terminates unexpectedly and no error information is logged.

This issue has been resolved. The drive now logs an error message in this case.

2.3.8 ------------------------------------------------------------------------

Released 2019-08-16

Enhancements & New Features

  • [MDBO-575][MDBO-589] Internal driver improvements

The driver has been updated with minor internal improvements.

  • [MDBO-586] Updated driver version information in Linux binary

You can now check the Linux driver's version from the driver binary file. To do this, open the .so file in a text editor, and search for the text "\(driver_version_sb\):". The driver's version number is listed after this text.

  • [MDBO-590] Updated third-party library linking for Linux

In the Linux driver, minor internal improvements have been implemented for the linking between the third-party libraries and the main driver library.

2.3.7 ------------------------------------------------------------------------

Released 2019-04-12

Enhancements & New Features

  • [MDBO-542] Standardized log file names

When logging is enabled, the driver now produces the following log files:

  • A simbamongodbodbcdriver.log file that logs driver activity that is not specific to a connection.

  • A simbamongodbodbcdriver_connection_[Number].log for each connection made to the database, where [Number] is a number that identifies each log file. This file logs driver activity that is specific to the connection.

  • Updated OpenSSL

    The driver now uses OpenSSL 1.1.0j. Previously the driver used 1.1.0h.

Resolved Issues The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.7.

  • [MDBO-360] Driver versions 2.1.0 and later fail to connect using Kerberos authentication.

2.3.6 ------------------------------------------------------------------------

Released 2019-02-08

Enhancements & New Features

  • [MDBO-529] Dynamically linked third-party libraries

The Linux driver has been updated to use dynamically linked libraries for ICU and OpenSSL. The installation directory now includes a "ThirdParty" directory which contains all required runtime libraries for the driver.

  • [MDBO-531] Updated ICU version

The driver now uses ICU version 58.2. Previously, the driver used ICU version 53.1.

Resolved Issues The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.6.

  • [MDBO-528] When the driver is installed on a machine that uses Turkish locale settings, if you try to connect using a connection string where one or more of the property names contains a lower-case "i" character, the driver fails to parse the string and does not connect to the server.

2.3.5 ------------------------------------------------------------------------

Released 2018-12-14

Enhancements & New Features

  • [MDBO-513] Updated MongoDB support

The driver now supports MongoDB 4.0.

  • [MDBO-450] Updated third-party library

The driver now uses Mongo-c-driver version 1.13.0.

2.3.4 ------------------------------------------------------------------------

Released 2018-10-12

Enhancements & New Features

  • [MDBO-386][MDBO-509] Support for omitting null values from INSERT operations

You can now specify whether explicitly provided null values are written to columns during an INSERT operation. To set this, configure the new Omit Explicit NULL Columns On Insert (or OmitColumns) connection property. For more information, see the Installation and Configuration Guide.

  • [MDBO-501] Support for clients without auto-commit

The driver can now connect to client applications in which auto-commit mode is disabled. To connect, set the new IgnoreTransactions connection property to 1. For more information, see the Installation and Configuration Guide.

Resolved Issues The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.4.

  • [MDBO-385] When executing an INSERT statement that specifies the bottom- level index of an array, the driver returns an error.

This issue has been resolved. The driver can now successfully execute INSERT statements that contain the bottom-level index value.

2.3.3 ------------------------------------------------------------------------

Released 2018-05-31

Enhancements & New Features

  • [MDBO-407] String values supported for _id columns of type ObjectId

You can now also insert String values in the _id column when the column is of type ObjectId. Before, the driver only allowed ObjectId values to be inserted into the column in this case. You can enable or disable this support for String values by configuring the new AlternativeSourceTypeAsString connection property. For more information, see the Installation and Configuration Guide.

  • Array column in base table

In specific cases, the driver now adds a schema column that enables you to view any array content present in the root-level document as JSON strings. This column is available only when you upgrade from an earlier 2.x version of the driver to version 2.2.8 or later, and if you are using a persistent schema that is stored in a local file or the database.

The column has a source type of ARRAY and is read-only. By default, it is hidden. To use this column, you must unhide it.

  • [MDBO-467] Support for additional comparison operators

The driver now supports a wider selection of MongoDB comparison query operators under the following conditions: - Mixed-type filtering is disabled. - The _id column contains values of type ObjectId.

Earlier versions of the driver only supported equality comparisons under these conditions.

  • [MDBO-477] Upgraded OpenSSL library

The driver now uses OpenSSL 1.1.0h. Previously, the driver used OpenSSL 1.1.0g.

Resolved Issues The following issues have been resolved in Simba MongoDB ODBC Driver 2.3.3.

  • [MDBO-385] When executing an INSERT statement that specifies the bottom- level index of an array, the driver returns an error.

This issue has been resolved. The driver can now successfully execute INSERT statements that contain the bottom-level index value.

The bottom-level index value is no longer required as of driver version 2.0.0, and it is recommended that you omit it from your INSERT statements.

  • [MDBO-467] When mixed type filtering is disabled, filtering does not work correctly on the ObjectId (_id column) field.

This issue has been resolved. In previous versions, the driver did not return a result set when mixed type filtering was disabled and the filter condition used an ObjectID value. The driver now returns the expected result set if the filter condition is an equality comparison on ObjectID.

  • [MDBO-475] When connection pooling is enabled and the driver attempts to reuse a connection from the pool, the following error message is returned: "Table or view not found".

This issue has been resolved. Connections can now be reused when connection pooling is enabled.

  • [MDBO-328] The driver does not use the column lengths specified in the schema definition.

This issue has been resolved. When column lengths are specified in the schema definition, the driver uses those values instead of the default value of the String Column Size option (the DefaultStringColumnLength property).

  • [MDBO-463] The driver requires user credentials even when the Mechanism option is set to No Authentication (AuthMechanism=None).

This issue has been resolved. When the Mechanism option is set to No Authentication (AuthMechanism=None), the driver now allows you to connect to the database without specifying a user name and password.

  • [MDBO-464] The driver appends numbers to virtual table names even when there is no naming conflict between table names.

This issue has been resolved. The driver now only appends numbers to virtual table names if the name is identical to another table name in the database.

==============================================================================

Installation and Configuration Guide

Installation and Configuration Guide