Product: TIBCO Spotfire®
TIBCO Spotfire Analyst throws 'Query already resolved' error with TIBCO Data Virtualization(TDV) views having row-level security policy applied.
While pulling data from the TIBCO Data Virtualization(TDV) view(s) having row-based security, you may get below error message:
InformationModelException at Spotfire.Dxp.Data:
Failed to execute query: An exception occurred when executing the following query: "SELECT V1."CompanyName" AS "COMPANYNAME", V2."CategoryName" AS "CATEGORYNAME" FROM "test"."ViewOrder" V1 LEFT OUTER JOIN "test"."ViewSales" V2 ON V1."ProductID" = V2."ProductID" ". Cause: Query already resolved. [parser-2901050] [Log ID: 3afdab44-be2f-4e4a-8d0b-5120b6cd4cf6] [jdbc-1906510] (HRESULT: 80131500)
Note: Situation could be, OUTER join of table with policy applied is not working from Spotfire, but works fine directly in TDV. Here is the detailed scenario:
1. LEFT OUTER join from view A (policy applied) to view B (no policy applied) not working : In this case, INNER and RIGHT join works fine.
2. RIGHT OUTER join from view A (no policy applied) to view B (policy applied) not working: In this case, INNER and LEFT join works fine.
3. LEFT or RIGHT OUTER join from view A (policy applied) to view B (policy applied) not working: In this case, only INNER join works fine. Below is the workaround to resolve this issue:
In the Data Source Template for TIBCO Data Virtualization(TDV) data source, from UI config >> Enter Bootstrap Password >> Configuration >> Data Source Templates. Add the below link of code:
Now save the configuration and restart the Spotfire Server Service.
Permanent Fix: Upgrade the existing TDV environment to TDV 8.2 or later version.