The new SchemaFilter config option allows you to specify the database and collections pairs for which you want the driver to fetch metadata. Using this option can provide can significantly improve connection times by limiting the collections for which metadata is fetched to only those that are required by your application. See SchemaFilter (Configuration Option) for details.
The driver and schema tool have been enhanced to allow you to limit sampling to only new collections when refreshing the schema map. This provides for quicker processing times if you only want to map new collections or if existing collections are unchanged. You can specify the sampling behavior using the following methods:
The Refresh Map SQL extension: When executing the Refresh Map SQL extension, you can specify the NEW option in the statement to limit sampling to only new collections. See Refresh Map (EXT) for details.
The driver has been enhanced to support the native Decimal128 data type, which maps to the Decimal JDBC type by default. See Data Types for details.
The CAST_TO_NATIVE function escape has been introduced to select or insert a value of a specific native type. This can be particularly useful when MongoDB has inconsistent native types for a given field. Currently, CAST_TO_NATIVE can only be used with the ObjectID type in SELECT statement filters and literal INSERT values. See Default Mapping of Columns with Inconsistent Native Data Types and CAST_TO_NATIVE function escape for details.
Changes for the 6.0.2 Release
Driver Enhancements
The driver has been enhanced to support Kerberos authentication. See Authentication for details.
Changed Behavior
The SchemaMap connection property has been created to replace the SchemaDefinition connection property. The SchemaMap property should now be used to specify the path of the configuration file where the relational map of native data is written. See SchemaMap for details.
Changes for the 6.0.1 Release
Driver Enhancements
The driver has been enhanced to resolve naming conflicts that can occur when exposing native objects using unquoted, uppercase identifiers (the default behavior). To avoid conflicts, the driver appends an underscore separator and integer (for example, _1) to identifiers that differ only by case. See Identifiers and Naming Conflicts for details.
The DefaultVarcharSize configuration option has been enhanced to generate dynamic default lengths for VARCHAR columns when specifying a multiplier value (for example, 2x) for the option. When specifying a multiplier value, the default length for a VARCHAR column is determined by multiplying the value specified by the size of the largest value detected in that column. This results in a default length that is proportionate to the size of the data within the column, which can improve the memory efficiency within the driver and application. The default value for this option has been updated to 1.5x.
In addition, you can further define the default length for VARCHAR columns by tuning the new MaxVarcharSize and MinVarcharSize configuration options. These options allow you to specify maximum and minimum size limits for the default length generated by the DefaultVarcharSize configuration option. When tuned for your data, MaxVarcharSize and MinVarcharSize can improve memory efficiency and avoid the undesired truncation of VARCHAR values.
The new KeywordConflictSuffix configuration option allows you to specify the suffix that is appended to object and field names that conflict with SQL engine keywords. See KeywordConflictSuffix (Configuration Option) for details.
The driver has been enhanced to use the MongoDB aggregation framework to improve performance in the execution of SQL queries using LIMIT, ORDER BY, and TOP clauses.
The following new SQL extensions have been added to the driver:
Refresh Map: REFRESH MAP discovers native objects that have been added to the native data store since connection or since the last refresh and maps the objects into your relational view of native data. It also incorporates any configuration changes made to your relational view by reloading the schema map and associated files. See Refresh Map (EXT) for details.
Reload Map: RELOAD MAP reloads the schema map and associated files, allowing you to update your relational view of native data while the driver is connected to the data store. See Reload Map (EXT) for details.
The driver has been enhanced to improve the handling of large result sets and reduce the likelihood of out-of-memory errors through the configuration of the FetchSize connection property and the introduction of the ResultMemorySize connection property. See FetchSize and ResultMemorySize for more information.
The driver no longer registers the Statement Pool Monitor as a JMX MBean by default. To register the Statement Pool Monitor and manage statement pooling with standard JMX API calls, the new RegisterStatementPoolMonitorMBean connection property must be set to true. See RegisterStatementPoolMonitorMBean for details.
Changes for the 6.0.0 Release
Driver Enhancements
When first connecting to a MongoDB server, the driver automatically creates a normalized schema of the data and generates a SchemaMap (formerly, SchemaDefinition) for housing and sharing the normalized schema. See Normalizing Native Data and SchemaMap for details.
Native MongoDB data is fully normalized during the normalization process, regardless of the depth of nested arrays, documents, and objects. See Normalizing Native Data and Generating a Normalized View for details.
The driver uses the MongoDB aggregation framework to improve performance in the execution of SQL queries using aggregates, GROUP BY clauses, or HAVING clauses.
Schema Tool Enhancements
The new Restart Wizard feature allows you to reset the relational view of your data from the Table Wizard menu. See Restarting the Wizard for details.
The new Update Schema feature allows you to map all new native objects to your schema map with a single click. See Mapping Newly Detected Objects for details.
Support for selecting multiple objects in the Table Wizard for improved object management when customizing your schema.
Changed Behavior
The driver no longer supports in-memory tables (also referred to as "local tables").
The 6.0 driver pushes down SQL queries to MongoDB whenever possible. Queries that cannot be pushed down to MongoDB in the 6.0 driver may be slower than comparable queries made with previous versions of the driver because data may be paged to disk while completing an operation. If you experience slow performance, please contact Technical Support. Our team will quickly address any performance issues you encounter.
The Normalization Depth option is no longer available in the Schema Tool because native MongoDB data is now fully normalized, regardless of depth, during the normalization process. See Generating a Normalized View for details.
The 6.0 driver and Schema Tool do not support schema maps (formerly, schema definitions) created with previous versions of the product. Therefore, you should reproduce your 5.1.x schema maps with the 6.0 driver or Schema Tool.