Skip to main content

CData Virtuality 25.2: Many improvements and something more

  • October 2, 2025
  • 0 replies
  • 68 views

Forum|alt.badge.img

This release, which went out on August 5, is probably our most improvement-filled release, and, of course, it also includes several new features and a number of bug fixes.

Speaking of improvements to the Server, most notably, we’ve implemented some security enhancements: we’ve disabled weak TLS protocols and cipher suites (but if you absolutely need to keep using the previous configuration, we’ve prepared a rollback instruction) and enforced strong password policy. User passwords must now comply with password complexity and management standards (for detailed information, see our documentation). This applies to creating new users, importing users and changing passwords. However, users with admin privileges can set passwords that do not comply with these rules, though we do not recommend using weak passwords. This change does not impact previously created user records, regardless of password complexity.

Our Snowflake connector has also benefitted from the security and authentication improvement work: it now supports OAuth authentication via Microsoft Entra ID and key-pair authentication. We’ve also adjusted the role mapping behavior to the changes in DEFAULT_SECONDARY_ROLES on the Snowflake side.

We’ve also tweaked permissions to view job and query logs: non-admin users can now view the logs only if they belong to the job or schedule they own or the query they executed.

For our clustering solution, we’ve added a setting to force all jobs to run on the primary node and the ability to distribute the uploaded license - meaning that now it’s enough to upload the license file to just one node, and it will be automatically distributed to all the other nodes.

We’ve updated Google Ads API to v20, which means some critical changes: the "ad_group_extension_setting", " ad_group_feed", "campaign_extension_setting", " campaign_feed", "customer_extension_setting", " customer_feed", "extension_feed_item", " feed", " feed_item", " feed_item_set", "feed_item_set_link", " feed_item_target", " feed_mapping", "feed_placeholder_view" tables and some columns have been removed, and some new columns have been added. If you’d like the full list of removed and added objects, please contact us.

Other improvements implemented in this release include a new SIMILARITY string function and a new SYSADMIN.sendEmailToAdmins utility procedure for contacting server administrators via email.

We’ve also worked on some of the system tables: the SYSLOG.QueryLogs and SYSLOG.JobLogs system tables have been moved to views and deprecated due to performance degradation. Here is where to find the information now:

Accordingly, we’ve adapted the Studio to the new structure of query and job logs.

The SYSADMIN.ScheduleJobs now includes information about the start and end times of the last job execution - they’re in the newly added columns "lastStartTime", "lastStartExecTime", and "lastEndTime".

As for bug fixes, we’ve fixed several bugs affecting Snowflake: one where wrong results would be returned when selecting strings with backslashes; another causing data source creation to fail if tables contained VECTOR data type; and a third one preventing loading more than 10,000 tables or views. To resolve the latter, we’ve added the importer.loadMetadataWithJdbc model property to Snowflake data source. When set to false (as it is be default), all tables in the Snowflake data source will be loaded during metadata retrieval, which may cause delays if the number of tables exceeds 10,000. If you wish to prioritize performance, set this property to true - however, only the
10,000 tables will be loaded in this case.

Another bug we’ve fixed resolved the issue with SQL jobs not terminating sessions properly upon completion, leading to memory leaks. Also, we’ve resolved the bug preventing the INITCAP function from capitalizing words starting after a special character, and fixed the bug where dropping and recreating a table in the same procedure resulted in an error on the subsequent insert statement in the code block. Now everything works as it should.

As for the connectors, we’ve added a new Shopify GraphQL connector to the family. Of our existing connectors, AWIN got procedure startdate and endate parameters, Amazon Advertising DSP now supports DSP API, and we’ve worked on the Google Ads API connector to ensure compatibility with v20. To do this, we’ve removed several procedures ("Performance_ExtensionFeedItem", "Performance_FeedItem", "Performance_FeedPlaceholder") and several fields ("campaign_dynamic_search_ads_setting_feeds" field in all procedures and "campaign_criterion_location_group_feed" in the
"Performance_Location" procedure).

As for bug fixes, we’ve resolved an issue with BingAds where data source creation failed with authentication error, another issue with Freshdesk where pagination failed to retrieve more than one page, and yet another issue with Walmart where WFS inventory report inserted duplicates. Now all is well.

 

Here are all issues in this release:

Server

  •  DVCORE-9017 (New Feature): Add "SYSADMIN.sendEmailToAdmins" procedure to allow users to contact server administrators via email

  • DVCORE-8780 (New Feature): Add SIMILARITY string function

  • DVCORE-8997 (Improvement): Integrate Salesforce CData JDBC driver

  • DVCORE-8985 (Improvement): Google Ads API: update to v20

  • DVCORE-8979 (Improvement): Improve security by disabling weak TLS protocols and cipher suites

  • DVCORE-8977 (Improvement): Enforce complex password policy

  • DVCORE-7177 (Improvement): Snowflake: add OAuth authentication via Microsoft Entra ID

  • DVCORE-8743 (Improvement): Snowflake: add support for key-pair authentication

  • DVCORE-8976 (Improvement): Snowflake: adjust role mapping behavior to the changes in DEFAULT_SECONDARY_ROLES on the Snowflake side

  • DVCORE-8911 (Improvement): Improve the memory consumption of the procedure instruction permission check cache

  • DVCORE-8895 (Improvement): Clustering: add a setting to force all jobs to run on the primary node

  • DVCORE-8770 (Improvement): Clustering: distribute the uploaded license

  • DVCORE-8894 (Improvement): Apply user permissions to job logs
    DVCORE-8893 (Improvement): Apply permissions to query logs

  • DVCORE-8528 (Improvement): Prevent updates on the "SYSLOG.QueryLogs" system table and switch logging behavior to purely appending

  • DVCORE-8527 (Improvement): Prevent updates on the "SYSLOG.JobLogs" system table and switch logging behavior to purely appending

  • DVCORE-8526 (Improvement): Extend the "SYSADMIN.ScheduleJobs" system table to include
    information about the start and end times of the last job execution

  • DVCORE-9006 (Bug Fix): SQL jobs do not terminate sessions properly upon completion, causing memory leaks

  • DVCORE-8993 (Bug Fix): The driver details for CData JDBC drivers cannot be collected if one of the drivers lacks a logo

  • DVCORE-8932 (Bug Fix): Snowflake: wrong results when selecting strings with backslashes

  • DVCORE-8924 (Bug Fix): Recreation of the temporary table in the inner procedural block after dropping it fails

  • DVCORE-8923 (Bug Fix): INITCAP function does not capitalize words after a special character

  • DVCORE-8917 (Bug Fix): EXECUTE IMMEDIATE raises a permission error when the same query run as a non-dynamic one does not fail

  • DVCORE-8907 (Bug Fix): Snowflake: cannot load more than 10000 tables or views

  • DVCORE-8899 (Bug Fix): Snowflake: data source creation fails if tables contain VECTOR data type

  • DVCORE-8890 (Bug Fix): Procedure block cannot define a temporary table if its name is used in any called procedure

  • DVCORE-8881 (Bug Fix): Creation and deletion of tables does not update the dependency graph and metadata of dependent views

  • DVCORE-8864 (Bug Fix): Dropping and recreating a table using the same set of columns in the same procedure results in an error on the subsequent select statement
    in the code block

  • DVCORE-8673 (Bug Fix): Clustering: descriptions of views differ between nodes after running concurrent queries

  • DVCORE-8562 (Bug Fix): Error message is incorrect for calling a non-existent function

  • DVCORE-8550 (Bug Fix): Unclear error message is returned when creating a table with a
    duplicate name

  • DVCORE-8360 (Bug Fix): Virtual Databases: no data in "SYSADMIN.VirtualSchemas" and
    "SYSADMIN.DataSources" system tables for custom virtual databases

  • DVCORE-8201 (Bug Fix): BigQuery: RECORD data type with multiple nested repeated records does not get flattened

  • DVCORE-7939 (Bug Fix): Drop index fails with NullPointerException if the table has three or
    more columns

  • DVCORE-7809 (Bug Fix): Materialized table cannot be used when original source is not available after the server restart

 

Studio

  • DVCORE-8823 (Improvement): Adapt the Studio to the new structure of query logs

  • DVCORE-8822 (Improvement): Adapt the Studio to the new structure of job logs

 

Connectors

  • SQL-980 (New Feature): Shopify GraphQL: create connector

  • SQL-1064 (Improvement): AWIN: add procedure startdate and endate parameters

  • SQL-1061 (Improvement): Google Ads API: ensure compatibility with v20
    SQL-375 (Improvement): Amazon Advertising DSP: add support for DSP API

  • SQL-1067 (Bug Fix): BingAds: data source creation fails with authentication error

  • SQL-1059 (Bug Fix): Freshdesk: pagination fails to retrieve more than one page

  • SQL-1056 (Bug Fix): Walmart: WFS inventory report inserts duplicates

This topic has been closed for replies.