Features Deprecated in Virtual DataPort 7.0

Due to the introduction of new features or changes in existing ones, some features of Denodo that are available in previous versions have been deprecated.

Deprecated features are supported in the current version. However, they are not actively maintained and may be removed in the next major version of the Denodo Platform. We strongly recommend planning to stop using deprecated features.

This section lists the features that are currently deprecated in Virtual DataPort 7.0. This list is updated whenever a feature is marked as deprecated.

Last update of this list: Jun 25, 2020.

Data Type “Date”

Starting with Denodo 7.0, the data type “date” is deprecated, although is maintained for compatibility reasons. The fields with this data type will behave in the same way as in prior versions 6.0. Instead use the new types: localdate, time, timestamp or timestamptz.

VQL Syntax

Contains, Containsand, Containsor and Iscontained Operators

Starting with Denodo 7.0, the following operators are deprecated and will be removed from the next major version of Denodo (Denodo 8.0).

These operators do not belong to the SQL standard. Therefore, tools that generate SQL automatically (e.g. Business Intelligence tools) never use these operators.

The operator contains can only be used in SQL queries that are pushed down to Google Search Engine, Aracne or custom wrappers that were developed specifically to support this operator.

The operators containsand, containsor and iscontained can be replaced with the function POSITION and the operator IN. Examples:

Replace containsand

Replace this:

field1 containsand ('AZ', 'CA')

with this:

POSITION(UPPER('AZ') IN UPPER(field1)) > 0 AND POSITION(UPPER('CA') IN UPPER(field1)) > 0

Replace containsor

Replace this:

field1 containsor ('AZ', 'CA')

with this:

POSITION(UPPER('AZ') IN UPPER(field1)) > 0 OR POSITION(UPPER('CA') IN UPPER(field1)) > 0

Replace iscontained

Replace this:

field1 iscontained ('Cali', 'California');

with this:

POSITION(UPPER(field1) IN UPPER('Cali')) > 0 AND POSITION(UPPER(field1) IN UPPER('California')) > 0

These examples apply the function UPPER to the values involved because the operators containsand, containsor and iscontained are case-insensitive.

SQLFRAGMENT Clause

Starting with Denodo 6.0, the SQLFRAGMENT clause of the CREATE WRAPPER JDBC statement has been deprecated.

Syntax ALTER TABLE <base view name> ADD SEARCHMETHOD

Starting with Denodo 6.0, the syntax ALTER TABLE <base view name> ADD SEARCHMETHOD is deprecated.

When creating a base view, define the search methods in the CREATE TABLE statement instead of executing a CREATE TABLE and then, adding the search methods with the statement ALTER TABLE.

This reduces the number of statements Virtual DataPort has to process.

For example, instead of running this:

CREATE TABLE internet_inc I18N us_est (
    iinc_id:long,
    summary:text,
    ...
    ...
);

ALTER TABLE internet_inc
    CACHE OFF
    TIMETOLIVEINCACHE DEFAULT
    ADD SEARCHMETHOD internet_inc(
        I18N us_est
        CONSTRAINTS (
             ADD iinc_id (any) OPT ANY
             ADD summary (any) OPT ANY
             ...
             ...
        )
        OUTPUTLIST (iinc_id, specific_field1, specific_field2, summary, taxid, ttime
        )
        WRAPPER (jdbc internet_inc)
    );

Run the following (i.e. just one command)

CREATE TABLE internet_inc I18N us_est (
    iinc_id:long,
    summary:text,
    ...
    ...
    )
    CACHE OFF
    TIMETOLIVEINCACHE DEFAULT
    ADD SEARCHMETHOD internet_inc(
        I18N us_est
        CONSTRAINTS (
             ADD iinc_id (any) OPT ANY
             ADD summary (any) OPT ANY
             ...
             ...
        )
        OUTPUTLIST (iinc_id, specific_field1, specific_field2, summary, taxid, ttime
        )
        WRAPPER (jdbc internet_inc)
    );

Parameters of the CONTEXT Clause of SELECT Statements

  • Starting with Denodo 5.5, the parameter VIEWPROPERTIES of the CONTEXT clause of SELECT statements is deprecated.

    The only reason to use it is to specify at runtime the value of the parameter “begin delimiter” of a DF data source. Instead, enable the option Start delimiter from variable of the data source.

  • Starting with Denodo 7.0, the parameter QUERYPLAN of the CONTEXT clause of SELECT statements is deprecated and it will be removed in the next major version (Denodo 8.0). Instead of using this parameter on the queries, set the query plan on the view.

Deprecated Functions

Starting with Denodo 7.0, the following functions are deprecated and may be removed in future versions of the Denodo Platform:

  • CREATETYPEFROMXML: instead of using this function, create an XML data source with a route of type from variable and pass the XML document to this data source.

  • TEXTCONSTANT: it is not useful anymore.

Data Sources: Decrypt Filter

Starting with Denodo 7.0, the filter Decrypt (PBE with MD5 and DES) is deprecated. This is the filter you can set in the data sources DF, JSON and XML.

This option is deprecated because the DES encryption algorithm is no longer considered secure and it should not be used.

Aracne Data Sources

Starting with Denodo 7.0, the Aracne module has been deprecated so the administration tool no longer supports creating Aracne data sources. However, if they have been imported from a previous version, they can be opened.

Denodo Stored Procedures

The following stored procedures included out-of-the box in Virtual DataPort are deprecated:

These procedures have been replaced with new ones because the old ones only return information about the database you are currently connected to. The new ones (“GET_…”) can obtain the same information from any database.

Denodo Stored Procedures API: getNumOfAffectedRows Method

Starting with Denodo 6.0, the method getNumOfAffectedRows() of the stored procedures API has been deprecated. Do not override this method in new stored procedures.

Although it is deprecated, the method will probably not be removed from future versions of the API in order to maintain binary compatibility with old stored procedures.

Denodo Custom Wrappers API: Deprecated Methods

The following methods of the API for custom wrappers have been deprecated. We suggest you remove all the references to these methods and constants from the code of your custom wrappers.

Starting with Denodo 6.0:

  • com.denodo.vdb.engine.customwrapper.CustomWrapperConfiguration.isDelegateCompoundFieldProjections()

  • com.denodo.vdb.engine.customwrapper.CustomWrapperConfiguration.setDelegateCompoundFieldProjections(boolean)

  • com.denodo.vdb.engine.customwrapper.expression.CustomWrapperFieldExpression.getSubFields()

  • com.denodo.vdb.engine.customwrapper.expression.CustomWrapperFieldExpression.hasSubFields()

Starting with Denodo 7.0:

  • com.denodo.vdb.engine.customwrapper.CustomWrapperResult.addRow(Object[], List<CustomWrapperFieldExpression>)

    You should use method CustomWrapperResult.addRow(Object[]) instead because it performs better.

  • The methods and constants related to the comparison operator contains. These are:

    • com.denodo.vdb.engine.customwrapper.expression.CustomWrapperContainsExpression

    • com.denodo.vdb.engine.customwrapper.condition.CustomWrapperCondition.OPERATOR_CONTAINS

    • com.denodo.vdb.engine.customwrapper.expression.CustomWrapperExpression.isContainsExpression()

The following methods will be removed from the API of custom wrappers of Denodo 8.0:

  • com.denodo.vdb.engine.customwrapper.CustomWrapperConfiguration.isDelegateCompoundFieldProjections()

  • com.denodo.vdb.engine.customwrapper.CustomWrapperConfiguration.setDelegateCompoundFieldProjections(boolean)

The other constants and methods of the custom wrappers API will remain to allow you to load your existing extensions without modifying them. However, the execution engine will not execute these methods.

Denodo JDBC Driver

Starting with Denodo 7.0, the parameter wanOptimizedCalls of the JDBC driver has been deprecated.

This parameter is deprecated because in Denodo 7.0 its default value is true and there is no reason to set it to false. In previous versions, the default value of this parameter is false. If true the driver reduces the number of remote calls it sends to the Server. In addition, when the application closes a result set, the driver only sends a cancel request to the Server if there are still pending results. If false, the driver always sends the cancel request.

Denodo Web Services

The Denodo Web Services created with Virtual DataPort 4.7 or earlier versions are deprecated. These web services provide SOAP and REST capabilities. They still work, its VQL statements can be loaded into Virtual DataPort 7.0 and can be edited from the administration tool. However, no new web services of this type can be created.

Starting with Denodo 5.0, SOAP web services and REST web services are different elements. The reason is that SOAP web services are operation-oriented and REST web services are resource-oriented.

Widgets

Starting with Denodo 7.0, the feature of publishing widgets is deprecated. This includes Web Parts for Microsoft SharePoint, Portlets v1.0 (JSR-168) and Portlets 2.0 (JSR-268).

Script Export

Starting with Denodo 5.5, the scripts <DENODO_HOME>/bin/export and <DENODO_HOME>/bin/import have several parameters that are deprecated:

  1. includeEnvSpecificElements

  2. includeNonEnvSpecificElements

Instead, use the parameter includeProperties.

Data Catalog: Roles “selfserviceadmin”, “selfserviceexporter”

In the next major version of Denodo, the roles “selfserviceadmin” and “selfserviceexporter” will be removed. These roles exist in Denodo 7.0 to keep backward compatibility with Denodo 6.0 but you should not grant them to users anymore. Instead, grant the new roles “data_catalog_admin” and “data_catalog_exporter”, which are equivalent to “selfserviceadmin” and “selfserviceexporter” respectively.

In Denodo 7.0, the “Information Self-Service Tool” has been rebranded to “Data Catalog” and so have been these two roles.