View Configuration Properties¶
The View Configuration Properties, also called wrapper source configuration, allow indicating specific characteristics of the underlying data sources such as their distributed transaction support capacity or whether insert operations are allowed.
This section lists the configurable properties of a base view, depending on the type of data source they have come from.
The section Data Source Configuration Properties lists the configuration properties of the data sources.
Note
Usually, users do not need to edit these properties since Virtual DataPort automatically uses suitable configurations for most common data sources.
To configure the properties of a base view, open the Options dialog of the view and then, click on the Search methods tab. In this dialog, underneath the search methods (using the scroll bar where necessary), click Wrapper Source Configuration. The configurable properties are the following:
Allow insert (configurable in JDBC and ODBC base views): If yes, it indicates that the underlying data source supports
INSERT
operations. If no, theINSERT
operations over this view will be rejected.Allow delete (configurable in JDBC and ODBC base views): If yes, it indicates that the underlying data source supports
DELETE
operations. If no, theDELETE
operations over this view will be rejected.Allow update (configurable in JDBC and ODBC base views): If yes, it indicates that the underlying data source supports
UPDATE
operations. If no, theUPDATE
operations over this view will be rejected.Delegate SQL sentence as subquery (configurable in JDBC base views): If yes (default value) and the base view has been created from a SQL query, at runtime, Virtual DataPort will be able to delegate the SQL query of the base view as a subquery in the
FROM
clause. This increases the number of operations that can be delegated to the database.For example, let us say that we have created a JDBC base view called
customer_info
from the following SQL query:SELECT id, name FROM customer WHERE id = function_not_supported_by_vdp(name, address)
Then, a user executes the following query in Virtual DataPort:
SELECT COUNT(*) FROM customer_info GROUP BY name
If this property is set to no, Virtual DataPort executes the SQL query of the view
customer_info
in the database and then, over the results obtained from the database, it executes theGROUP BY
operation and theCOUNT
function.If this property is set to yes, the entire query can be delegated to the database by putting the SQL query of the base view in a subquery:
SELECT COUNT(*) FROM ( SELECT id, name FROM customer WHERE id = function_not_supported_by_vdp( name, address ) ) GROUP BY name
In this scenario, Virtual DataPort does not have to process the
GROUP BY
and theCOUNT
and the amount of traffic between the database and Virtual DataPort is diminished.Although this property is set to “yes”, the entire query cannot always be executed in the database. This happens in the following scenarios:
The query executed in Virtual DataPort involves functions not supported by the database.
A SQL statement is not delegated as a subquery if it contains the token
@WHEREEXPRESSION
.A nested join cannot be delegated to the database if the following conditions are met:
The base view created from a SQL query, is used in the right side of the join.
The SQL query of the base view has interpolation variables.
And, the values of these variables are obtained from the query of the left side of the join.
Note
Set this property to no if the SQL query cannot be delegated as a subquery. For example, if the query uses “common table expressions”. E.g.
WITH cte AS (SELECT * FROM VIEW) SELECT * FROM cte
Supports distributed transactions (configurable in JDBC and ODBC base views): If yes, it indicates that the underlying data source can take part in XA distributed transactions.
Fields by which the data is sorted in the source (configurable in all the base views, except Custom ones): This property indicates the fields by which the data is ordered. The syntax of this property is the following:
<field name> { ASC | DESC } [, <field name> { ASC | DESC }]*
For example,
field 1 DESC
E.g., let us say that we have a Web service base view with the fields
F1
andF2
. We know that the results of querying the Web service are ordered in ascendant order by the fieldF1
and then, by descendant order by the fieldF2
. By setting this property toF1 ASC, F2 DESC
, we are telling Virtual DataPort the order of the result and it may be able to perform certain optimizations such as selecting a most efficient join algorithm. See more about this in the section Merge Join.Delegate operators list (configurable in Multidimensional base views that connect to SAP and Web service base views): This property determines the list of operators that can be delegated to the data source. This list allows Virtual DataPort to optimize the query plan by delegating part of the processing to the source. While the Server carries out this action automatically on relational databases, other types of sources do not provide this information about their metadata.
Configuration Properties for Specific View Types¶
The Google Search (see section Google Search Sources) data sources have specific configuration properties.
To configure the properties of these base views, open the base view by double-clicking on it in the Server Explorer and then click Options. In this dialog, underneath the search methods (using the scroll bar where necessary), click on Wrapper Source Configuration to open the property configuration screen.
The configuration properties of Google base views are “Site Collections”, “Client”, “Languages” and “Number of Key match”. See section Google Search Sources for more information about these properties.