cube-js / cube-js/cube

Cube.js generated Prestodb query always cast 'number' data type to 'double' data type regardless of actual data type

Open
#4,776 0 comments 0 reactions 0 assignees View on GitHub
driver:prestodb logged reviewed
Dominant language
Rust
Stars
20.8k
Forks
2.1k
Avg merge
1d 2h
Merged PRs (30d)
181

Description

**Describe the bug**
Dimension filter with integer value always being casted to 'double' when Cube.js generate Prestodb query.

**To Reproduce**
Steps to reproduce the behavior:
1. Create a dimension with 'Number' data type
2. Use 'Filter Params' in 'sql' parameter of cube definition to inject filter values into Prestodb query
3. Call Cube.js API and filter by dimension created in step 1 with list of integer values
4. Check Prestodb query generated.

**Expected behavior**
Cube.js should differentiate / detect filter values with 'number' datatype as cast each of them respectively (into integer or double) while generate Prestodb query.

**Screenshots**
1. Cube definition showing dimension with 'number' datatype and filter params injecting filter value into sql query
![image](https://user-images.githubusercontent.com/107849059/174582008-3bad2c52-bd12-4920-b369-568d88a41762.png)

2. Prestodb query generated by cube.js convert all 'number' filter values to 'double' datatype regardless of whether the filter value is integer or double.
![image](https://user-images.githubusercontent.com/107849059/174584325-11fbe6ef-de27-4c43-b016-14063852da1a.png)

**Version:**
[e.g. 0.30.25]

**Additional context**
Also found this thread regarding modifying custom logic for generating query for different database (https://github.com/cube-js/cube.js/issues/374) and also this file (https://github.com/cube-js/cube.js/blob/2f0179173c24604eba4f5f7cc8fca0804240dc6d/packages/cubejs-schema-compiler/adapter/PrestodbQuery.js) which seems to be containing logic for generating Prestodb query but cannot find any example or documentation on the details and steps to modify and implement custom logic for query generation.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.