heavyai / heavydb

HeavyDB (formerly OmniSciDB)
https://heavy.ai
Apache License 2.0
2.96k stars 448 forks source link

[GPU Logic Bug] SELECT DISTINCT <column> FROM <table> WHERE  CAST(<column> AS INT) != 1 Brings Errors #813

Open qwebug opened 1 year ago

qwebug commented 1 year ago

Describe:

Using SELECT DISTINCT \ FROM \

 WHERE  CAST(\ AS INT) != 1 brings different results , when set EXECUTOR_DEVICE 'CPU' and 'GPU'.

SQL:

CREATE TABLE t0(c0 DECIMAL(2) NULL, c1 DOUBLE);
INSERT INTO t0(c1) VALUES(0.20684618710775926),(1.7976931348623157E308);
ALTER SESSION SET EXECUTOR_DEVICE='CPU';
SELECT DISTINCT t0.c1 FROM t0 WHERE CAST(t0.c1 AS INT) != 1;

Result:

c1
0.2068461871077593

SQL:

ALTER SESSION SET EXECUTOR_DEVICE='GPU';
SELECT DISTINCT t0.c1 FROM t0 WHERE CAST(t0.c1 AS INT) != 1;

Result:

c1
0.2068461871077593
1.797693134862316e+308

Environment:

Docker Deployment

https://hub.docker.com/layers/heavyai/heavyai-ee-cuda/latest/images/sha256-5af3ad3a00cbc5ce09c299b8b81cda96521a27373dbb1e59209c02358cfd9b1f?context=explore

Docker DIGEST: sha256:5af3ad3a00cbc5ce09c299b8b81cda96521a27373dbb1e59209c02358cfd9b1f

HeavyDB Version: 7.1.0-20230821-eae9ec17da

HeavyDB license: Free Edition