Products | Versions |
---|---|
TIBCO Data Virtualization | All Supported Version |
The error message "No Push Reason: Cannot push selectable because the data source Jdbc is case sensitive and our system is not case sensitive and the data source does not support upper function" indicates that there is a mismatch of settings for case sensitivity between the Server and Datasource level. Hence, receiving a No Push Reason while executing a query.
After executing the query in TIBCO Data Virtualization Studio execution plan is generated and the user can see the No Push Reason message in that plan itself.
Steps to generate execution plan:
- Execute the query and the next symbol after the execute button is for Show Execution Plan.
- Click on it and a new window will get prompted next to the result window.
- Click on the Export Plan option and a text file will be generated.
There are 2 ways to do this:
1). Using the apache_hive_2_x_values.xml
2). From TIBCO Data Virtualization Studio > Configuration.
To resolve this we need to make changes in the apache_hive_2_x_values and below are the steps.
1.a) Open file apache_hive_2_x_values present under the path,
<TIBCO Data Virtualization Installation Directory>\conf\adapters\system\
1.b) In the XML file, search for the string “comparisonCaseInSensitive” for case sensitivity,
Append the below lines to the file:
<common:attribute xmlns:common="http://www.compositesw.com/services/system/util/common"> <common:name>/runtime/query/comparisonCaseInSensitive</common:name> <common:type>BOOLEAN</common:type> <common:value>true</common:value> <common:configID>jdbcds.comparisons_case_insensitive</common:configID> </common:attribute>
1.c) Save the file and restart the TIBCO Data Virtualization server.
2) You can change the CASE_SENSITIVITY setting from TIBCO Data Virtualization Studio.
Navigate to Administration >> Configuration >> Server >> SQL Engine >> SQL Language to true and it will work.
Also, making changes at the server level will also impact all the data sources.
NOTE: This will help to match the setting for CASE_SENSITIVITY for both Server and Datasource and while executing the query the query will be pushed to the HIVE Database.