You can translate the question and the replies:

Use of setDelegateProjections in CustomWrapperConfiguration

Using setDelegateProjections(true), the instruction said "Custom Wrapper can deal with projected fields." What does it mean? Projected fields (which columns should be displayed in a SQL SELECT statement) can only be specified in a derived view, not in a base view. While a derived view is just a selection from a base view which is always in the format of SELECT * from ... When the Custom Wrapper executes a derived view query with selected/projected fields, it is still the base view query gets executed first (SELECT * ) , retrieving all fields. So what does it mean for "Custom Wrapper can deal with projected fields"? The Wrapper seems to always retrieve all fields, and there is no way to pass limited "projectedFields" to the method run(CustomWrapperConditionHolder condition, List<CustomWrapperFieldExpression> projectedFields, CustomWrapperResult result, Map<String, String> inputValues)
13-05-2021 21:08:43 -0400

1 Answer

Hi, The derived view is always created on top of the base view, and the base view includes all the fields from the data source as the fields of the underlying data source will always be reflected in a base view. Therefore, I would not pass the limit on the projected fields of the base view. While [configuring a Custom Wrapper]( I noticed that the setDelegateProjections() function sets the value of the property delegateProjections which defines whether a Custom Wrapper can deal with projected fields or not. That means if the function is set to True then the delegation of the view projection is set to the data source and if it’s false then the projection is not delegated. Hope this helps!
Denodo Team
17-05-2021 21:23:22 -0400
You must sign in to add an answer. If you do not have an account, you can register here