tableau / connector-plugin-sdk

SDK for Developing Tableau Connector Plugins
https://tableau.github.io/connector-plugin-sdk/
MIT License
108 stars 108 forks source link

[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 4 months ago

carlossc commented 4 months ago

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

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):

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 commented 2 months ago

Internal tracking: W-15480167 and W-16224706