Translators
The Data Virtuality Server Connector Architecture (DVSCA) provides Data Virtuality Server with a robust mechanism for integrating with external systems. The DVSCA defines a common client interface between Data Virtuality Server and an external system that includes metadata as to what SQL constructs are supported for pushdown and the ability to import metadata from the external system. A Translator is the heart of the DVSCA and acts as the bridge logic between Data Virtuality Server and an external system. It has its own translation properties, which are described in the following Connector descriptions. Connectors can have a number of configurable properties. These are broken down into translator properties, which determine aspects of how data is retrieved, and import settings, which determines what metadata is read for import. The translator properties for a translator typically have reasonable defaults. For specific translator types, e.g. the Derby translator, base translator properties are already tuned to match the source. In most cases, the user will not need to adjust their values.
Translator Properties shared by all Connectors
Name | Description | Default |
---|---|---|
Immutable | Set to true to indicate that the source never changes. | false |
RequiresCriteria | Set to true to indicate that source SELECT/UPDATE/DELETE queries require a where clause. | false |
SupportsOrderBy | Set to true to indicate that the ORDER BY clause is supported. | true for
false for
|
SupportsOuterJoins | Set to true to indicate that OUTER JOINs are supported. | false |
SupportsFullOuterJoins | If outer joins are supported, true indicates that FULL OUTER JOINs are supported. | false |
SupportsInnerJoins | Set to true to indicate that INNER JOINs are supported. | false |
SupportedJoinCriteria | If joins are supported, defines what criteria may be used as the join criteria. May be one of (ANY, THETA, EQUI, or KEY). | ANY |
MaxInCriteriaSize | If in criteria are supported, defines what the maximum number of in entries are per predicate. -1 indicates no limit. | -1 |
MaxDependentInPredicates | If in criteria are supported, defines what the maximum number of predicates that can be used for a dependent join. Values less than 1 indicate to use only one in predicate per dependent value pushed (which matches the pre-7.4 behaviour). | -1 |
useDoubleSlashToEscapeRegex | this property is used to change the default escaping behaviour in LIKE_REGEX expressions. |
|
ThreadBound | Set to true to indicate the translator's Executions should be processed by only a single thread. | false |
supportsMultipleOpenExecutions | Set to true to indicate that multiple executions may be open against a single connection at a time. | false for:
true for all others |
columnNameType | The value determines the way table column names are presented in the Data Virtuality Server:
| NONE |
The following capabilities are exposed as translator properties:
Name | Description |
---|---|
supportsSelectExpression | Support indicates connector can accept expressions other than element symbols in the SELECT clause. Specific support for the expression type are still checked. |
supportsAliasedTable | Support indicates connector can accept groups with aliases. |
supportsSelfJoins | Support indicates connector can accept self-joins where a group is joined to itself with aliases. The connector must also support. |
supportsInlineViews | Support indicates connector can accept inline views (subqueries in the FROM clause). |
supportsCompareCriteriaEquals | Support indicates connector accepts criteria of form (element = constant). |
supportsCompareCriteriaOrdered | Support indicates connector accepts criteria of form (element <= | >= constant). The query engine will may pushdown queries containing < or > if NOT is also supported. |
supportsLikeCriteria | Support indicates connector accepts criteria of form (element LIKE constant). |
supportsLikeCriteriaEscapeCharacter | Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char). |
supportsInCriteria | Support indicates connector accepts criteria of form (element IN set). |
supportsInCriteriaSubquery | Support indicates connector accepts IN criteria with a subquery on the right side. |
supportsIsNullCriteria | Support indicates connector accepts criteria of form (element IS NULL). |
supportsOrCriteria | Support indicates connector accepts logical criteria connected by OR. |
supportsNotCriteria | Support indicates connector accepts logical criteria NOT. |
supportsExistsCriteria | Support indicates connector accepts the EXISTS criteria. |
supportsQuantifiedCompareCriteriaSome | Support indicates connector accepts the quantified comparison criteria that use SOME. |
supportsQuantifiedCompareCriteriaAll | Support indicates connector accepts the quantified comparison criteria that use ALL. |
supportsOrderByUnrelated | Support indicates connector accepts ORDER BY clause with columns not from the select. |
supportsOrderByNullOrdering | Returns whether the database supports explicit join ordering. |
supportsGroupBy | Whether the source supports an explicit GROUP BY clause. |
supportsOnlySingleTableGroupBy | Whether the source supports grouping only over a single table. |
supportsHaving | Whether the source supports the HAVING clause. |
supportsAggregatesSum | Support indicates connector can accept the SUM aggregate function. |
supportsAggregatesAvg | Support indicates connector can accept the AVG aggregate function. |
supportsAggregatesMin | Support indicates connector can accept the MIN aggregate function. |
supportsAggregatesMax | Support indicates connector can accept the MAX aggregate function. |
supportsAggregatesCount | Support indicates connector can accept the COUNT aggregate function. |
supportsAggregatesCountStar | Support indicates connector can accept the COUNT(*) aggregate function. |
supportsAggregatesDistinct | Support indicates connector can accept DISTINCT within aggregate functions. |
supportsAggregatesEnhancedNumeric | Support indicates connector can accept STDDEV_POP, STDDEV_VAR, VAR_POP, VAR_SAMP. |
supportsScalarSubqueries | Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and HAVING clauses. |
supportsCorrelatedSubqueries | Support indicates connector can accept correlated subqueries wherever subqueries are accepted. |
supportsSearchedCaseExpressions | Support indicates connector can accept queries with searched CASE WHEN <criteria> ... END |
supportsUnions | Support indicates that the connector supports the UNION of two queries. |
supportsSetQueryOrderBy | Support indicates that the connector supports an ORDER BY on a SetQuery. |
supportsIntersect | Support indicates that the connector supports the INTERSECT of two queries. |
supportsExcept | Support indicates that the connector supports the EXCEPT of two queries. |
supportsFunctionsInGroupBy | Support indicates that the connector supports non-column expressions in GROUP BY, such as: SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate). |
supportsRowLimit | Gets whether the connector can limit the number of rows returned by a query. |
supportsRowOffset | Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return result sets that start in the middle of the resulting rows returned by a query. |
supportsCommonTableExpressions | Returns true if the WITH clause is supported |
supportsAdvancedOlapOperations | Returns true if Advanced OLAP operations are supported including the aggregate function filter clause. |
supportsElementaryOlapOperations | Returns true if Elementary OLAP operations are supported including window functions and inline window specifications that include simple expressions in partitioning and ordering |
supportsArrayAgg | Returns true if array_agg is supported |
supportsSimilarTo | Returns true if the SIMILAR TO predicate is supported |
supportsLikeRegex | Returns true if the LIKE_REGEX predicate is supported |
supportsAggregatesLeadLagFirstLastValue | Indicates whether the source supports lead(), lag(), firstValue(), and lastValue() aggregation symbols. |