I tried to implement the ForkJoin plugin today, for the first time. The documentation is pretty good but not clear about one specific parameter (which happened to be the one that I needed). When you add the plugin and then select to add a parameter, screenshot, one of the options is FullOuterJoin. According to the documentation is a setting under the JoinPolicy. The implementation is a little different, as you can see if you click on the screenshot. I wasn’t sure what to put here, so I checked with Oracle and was told this:
“… that referenced Full Outer Join as being set to either true or false. ” and “… they believe that setting Full Outer Join to true would mean full outer join is performed, set to false would mean left outer join, and to have standard join we would simply not install the plug-in.”
I was able to confirm that by setting FullOuterJoin to true does indeed allow entries from both (in my case) adapters to be returned. The only caveat to this is that entries that should be joined … are no longer joining. So, still trying to figure that part out.
I heard back from OVD Dev as follows:
The documentation for plug-in configuration parameters has to be read as:
Names mentioned in bold are parameters that a plug-in supports.
Under each parameter name, description and semantics of all possible values are explained.
First, for Fork Join plug-in, SecondaryOnlyAttributes, PrimaryAndSecondaryAttributes & JoinPolicy are the only parameters supported. ‘FullOuterJoin’ is not a parameter, but one of the possible values for ‘JoinPolicy’ parameter. The other values are ‘StandardJoin’ & ‘LeftOuterJoin’. Please note that there are no spaces in parameter values.
Second, ODSM displays the list of parameters supported by a plug-in from the plugin manifest file. Since ForkJoin plugin manifest file incorrectly has “FullOuterJoin” as the parameter name instead of “JoinPolicy”, the incorrect parameter name is displayed in ODSM.
As ODSM would not allow specifying any other parameter to the plug-in configuration than what is listed in the plug-in manifest, the workaround, for now, is to please make a backup copy and then edit the <$ORACLE_INSTANCE>/config/OVD/<ComponentName>/adapters.os_xml file as follows, then re-start OVD server:
Change following line from:
<param name=”FullOuterJoin” value=”true”/>
<param name=”JoinPolicy” value=”FullOuterJoin”/>
Third, since the value for “JoinPolicy” is not specified in the plug-in configuration, ForkJoin plug-in assumes “LeftOuterJoin” as the default and hence users that are only in secondary adapter (AD2) were not returned.”