# CData Virtuality 25.1: extended Python support on Windows and many improvements

**URL:** <https://community.cdata.com/t/cdata-virtuality-25-1-extended-python-support-on-windows-and-many-improvements/1104>\
**Category:** CData Virtuality \[Archived\]\
**Tags:** python-support, discussion, release, windows, cdata-virtuality\
**Created:** [June 6, 2025, 4:31pm UTC](https://community.cdata.com/t/cdata-virtuality-25-1-extended-python-support-on-windows-and-many-improvements/1104 "2025-06-06T16:31:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anna](https://avatars.discourse-cdn.com/v4/letter/a/779978/32.png) [@Anna](https://community.cdata.com/u/Anna)\
**Post date:** [June 6, 2025, 4:32pm UTC](https://community.cdata.com/t/cdata-virtuality-25-1-extended-python-support-on-windows-and-many-improvements/1104/1 "2025-06-06T16:32:04Z")

</div>

This release is packed with improvements: on the **Server** side, we’ve added support for Python code execution via OBJECTTABLE on Windows and implemented an Okta user storage provider for use with the CData Virtuality OAuth 2 Server. We’ve also updated the Parquet libraries, integrated the Microsoft Planner CData JDBC driver, improved the base URL extraction for CData Virtuality Auth 2 Tool loader (for better handling of path prefixes), expanded the “SYSADMIN.WebBusinessDataShopPublished” system table (now it includes resource descriptions and types), extended the “importProcedure”, “importView”, and “importFunction”&nbsp;SYSADMIN procedures to throw SQL warnings when creation of imported objects fails, made the “loginAllowed” user property session independent, and improved metadata performance for ODBC.

Clustering got special attention in this release. We’ve distributed job queue for it and fixed a number of bugs: one preventing calls to “refreshDataSource”, “refreshSchema”, “refreshAllDataSources”, “refreshAllSchemas” SYSADMIN procedures from being distributed, another which caused replacing an existing data source on one node to corrupt it&nbsp;on other nodes, a third one preventing materialization from working in cluster mode, a fourth one interfering with full distribution of rollback for SELECT INTO, and finally a fifth one resulting in duplicated entities being created on concurrent queries.

Among other bug fixes, we have fixed a bug with “importer.catalog” data source property name being case-sensitive and causing an error when its value is longer than 128 characters, and another bug with “invokeHTTP” procedure which didn’t respect the configured proxy&nbsp;settings and bypassed the proxy. Also, we’ve removed the hard-coded limit for the TEXT\_TABLE\_MAX\_WIDTH default option, fixed the URLENCODE function so it’s able to encode the star character, and fixed a bug causing the “SYSADMIN.refreshTables” procedure to update the dependency graph for tables that have not changed.

Last but not least, for Snowflake, casting a STRING column longer than 4000 characters no longer results in an error.

In the **Studio** , data source can now be created and edited using the SYSADMIN.createOrReplaceDatasource procedure, and one set of “User name” and “Password” fields now serves for both server authentication and OAuth. We’ve also fixed two bugs: one where the SSL and STARTTLS settings were set in checkboxes and another where NullPointerException was thrown on opening the Job History tab containing records with NOT\_STARTED status.

As for the **connectors** , we’ve added two new reports to the **Amazon Selling Partner connector** (SearchQuery and SearchCatalogPerformance) and fixed four bugs: one where some data was not saved in the storage while executing the Report\_ReferralFeePreview procedure, another causing the KioskReport economics to fail with error “Unexpected character at position 0”, yet another where temporary tables for Procedure Orders were named incorrectly, and finally, an issue with header incompatibilities in Report FBAStorageFees report.

The **Oktopost connector** now includes procedure CampaignsExtended with campaign tags.

For **Coda** , we’ve fixed a bug causing creating data source to fail with “Temporary table already exists” error; for **Airtable** , a bug preventing columns with forward slashes in their names from being parsed; for **Impact** , a bug resulting in the CreateProcedureForReport procedure inserting field names instead of data; for **Google Sheets** , an issue with ReplicateTableToSpreadsheet throwing an error in case of illegal characters in column names; and for **Piwik** , a bug causing the InstallExamples procedure to throw error.

Here are all issues in this release:

**Server**

- DVCORE-8740 (New Feature): CData Virtuality OAuth 2 Server: implement an Okta user storage provider
- DVCORE-8892 (Improvement): Improve the base URL extraction for CData Virtuality Auth 2 Tool loader to better handle path prefixes
- DVCORE-8876 (Improvement): Update Parquet libraries
- DVCORE-8873 (Improvement): Expand the “SYSADMIN.WebBusinessDataShopPublished” system table with the resource descriptions and its type
- DVCORE-8863 (Improvement): Integrate Microsoft Planner CData JDBC driver
- DVCORE-8548 (Improvement): Add support for Python code execution via OBJECTTABLE on Windows
- DVCORE-8505 (Improvement): Extend “importProcedure”, “importView”, and “importFunction”  
SYSADMIN procedures to throw SQL warnings when creation of imported objects fails
- DVCORE-8177 (Improvement): Make “loginAllowed” user property session independent
- DVCORE-8086 (Improvement): Clustering: distribute job queue
- DVCORE-7412 (Improvement): Improve metadata performance for ODBC
- DVCORE-8896 (Bug Fix): “importer.catalog” data source property name is case-sensitive and  
causes an error when its value is longer than 128 characters
- DVCORE-8860 (Bug Fix): The “invokeHTTP” procedure does not respect the configured proxy  
settings and bypasses the proxy
- DVCORE-8851 (Bug Fix): The TEXT\_TABLE\_MAX\_WIDTH default option has a hard-coded limit
- DVCORE-8830 (Bug Fix): Snowflake: casting a STRING column longer than 4000 characters  
results in an error
- DVCORE-8825 (Bug Fix): “SYSADMIN.refreshTables” procedure updates the dependency graph for tables that have not changed
- DVCORE-8809 (Bug Fix): URLENCODE function fails to encode the star character
- DVCORE-8773 (Bug Fix): The JSON object does not reflect alias column names when used over  
a view
- DVCORE-8741 (Bug Fix): Clustering: calls to “refreshDataSource”, “refreshSchema”,  
“refreshAllDataSources”, “refreshAllSchemas” SYSADMIN procedures are not distributed
- DVCORE-8674 (Bug Fix): Clustering: replacing an existing data source on one node corrupts it  
on other nodes
- DVCORE-8656 (Bug Fix): Clustering: materialization does not work in cluster mode
- DVCORE-8655 (Bug Fix): Clustering: rollback for SELECT INTO is not fully distributed
- DVCORE-8630 (Bug Fix): Clustering: duplicated entities are created on concurrent queries
- DVCORE-8641 (Bug Fix): ClickHouse: DELETE and UPDATE are not working due to full column  
prefixes added and COUNT returns incorrect results due to an incorrect casting of DateTime type to Time

**Studio**

- DVCORE-8440 (Improvement): Switch to “SYSADMIN.createOrReplaceDatasource” procedure for data source creation and editing
- DVCORE-8397 (Improvement): Use one set of “User name” and “Password” fields for both server authentication and OAuth
- DVCORE-8927 (Bug Fix): SSL and STARTTLS settings are set in checkboxes
- DVCORE-8898 (Bug Fix): NullPointerException is thrown on opening the Job History tab containing records with NOT\_STARTED status

**Connectors**

- SQL-1021 (New Feature): Amazon Selling Partner: add SearchQuery and SearchCatalogPerformance reports
- SQL-1037 (Improvement): Oktopost: create procedure CampaignsExtended with campaign tags
- SQL-1047 (Bug Fix): Amazon Selling Partner API: some data is not saved in the storage  
while executing Report\_ReferralFeePreview procedure
- SQL-1038 (Bug Fix): Amazon Selling Partner: KioskReport economics fails with error:  
“Unexpected character at position 0.”
- SQL-1041 (Bug Fix): Amazon Selling Partner: temporary tables for Procedure Orders are  
named incorrectly
- SQL-1036 (Bug Fix): Amazon SP: header incompatibilities in Report FBAStorageFees report
- SQL-1045 (Bug Fix): Coda: creating data source fails with “Temporary table already exists”  
error
- SQL-1042 (Bug Fix): Airtable: unable to parse column with forward slashes in the column  
name
- SQL-1040 (Bug Fix): Impact: CreateProcedureForReport procedure inserts field names  
instead of data
- SQL-1033 (Bug Fix): Google Sheets: ReplicateTableToSpreadsheet throws an error if  
column names have illegal characters
- SQL-1032 (Bug Fix): Piwik: InstallExamples procedure throws error
