Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] In Tableau Prep Builder, when connecting to Denodo with the connector "Denodo JDBC", the SQL queries do not have WHERE clause #1234

Open
carlossc opened this issue May 10, 2024 · 1 comment
Labels

Comments

@carlossc
Copy link

carlossc commented May 10, 2024

Describe the bug

When connecting from Tableau Prep Builder to Denodo using the connector Denodo JDBC, Prep Builder executes SQL queries in Denodo without WHERE clause. This causes Prep Builder to retrieve all the dataset of the views the user works with. This is a problem for users that query views that return a lot of data and do complex operations like GROUP BYs.

For example, if the user queries a view total_sales_by_country and in Prep Builder, the user adds a filter country = US, since this condition is not passed to Denodo, Denodo has to calculate this aggregation in the entire table, when the user only wants to do it by one country.

The connector Denodo JDBC was created using the Tableau Connector SDK and it is published in the Tableau Exchange.

Additional notes

  • We did the same steps connecting to a PostgreSQL database with the PostgreSQL connector of Tableau and Prep Builder did pass the conditions in the WHERE clause.
  • As suggested by the Tableau team, we set the property CAP_QUERY_GROUP_BY_ALIAS to no but the problem still happens.

Steps to reproduce the bug

  1. Open Tableau Prep Builder
  2. Create a connection to a Denodo server using the connector Denodo JDBC by Denodo Technologies. (I can give you online credentials to access a Denodo server we have on AWS).
  3. In the the drop-down Schema, select a schema (for example tpc_h)
  4. Drag a table (for example customer, which has a field c_custkey).
  5. Click Filter values and in the popup, enter the condition [c_custkey] = 5
  6. Click View and clean data

Problem: the SQL query that Tableau Prep Builder executes in Denodo does not have a WHERE condition.

This is the query Tableau Prep Builder executes in Denodo:

SELECT "1752bc0b-836a-43d8-a6b2-daf7a8"."c_acctbal" AS "c_acctbal"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_address" AS "c_address"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_comment" AS "c_comment"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_custkey" AS "c_custkey"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_mktsegment" AS "c_mktsegment"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_name" AS "c_name"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_nationkey" AS "c_nationkey"
	,"1752bc0b-836a-43d8-a6b2-daf7a8"."c_phone" AS "c_phone"
	,3 AS "hwmtableauinternal"
FROM "tableau_tpc_h"."customer" "1752bc0b-836a-43d8-a6b2-daf7a8" 
LIMIT 393216

Screenshots

image

image
When clicking in this part, the SQL query Prep Builder executes in Denodo is the one above.

Desktop (please complete the following information):

  • OS: Windows 10 Pro
  • Tableau Version: we reproduced with the latest version of Tableau Prep Builder 2024.1.2 with the Denodo JDBC connector version 2.0.0 (the latest version)

About you:
Name: Carlos Santos Canelles
Company: Denodo Technologies

I am registering this on behalf of a customer (I prefer not to write the name of the customer here; I can provide it offline)

@lukewrites
Copy link
Member

Internal tracking: W-15480167 and W-16224706

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants