ON FALSE WHERE \ ISNULL brings different results, when using CPU-only configurations and GPU-used configurations.
SQL with CPU-only Config:
CREATE TABLE t0(c0 TEXT);
CREATE TABLE t1(LIKE t0);
INSERT INTO t0(c0) VALUES('x');
INSERT INTO t1(c0) VALUES('1');
CREATE SCHEMA extensions;
CREATE EXTENSION pg_strom WITH SCHEMA extensions;
SET pg_strom.enabled=off;
SELECT * FROM t1 FULL OUTER JOIN t0 ON FALSE WHERE (t1.c0) ISNULL;
Result:
c0 | c0
----+----
| x
(1 row)
SQL with GPU-used Config:
SET pg_strom.enabled=on;
SELECT * FROM t1 FULL OUTER JOIN t0 ON FALSE WHERE (t1.c0) ISNULL;
Describe:
SELECT * FROM \
SQL with CPU-only Config:
Result:
SQL with GPU-used Config:
Result:
Environment:
Pg-strom Version: commit 9765660eba4fab7e4e9378c667e6bd565da83ffd
PostgreSQL Version: 15.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
CUDA Version: 12.2
NVIDIA Driver Version: 535.171.04
cb2c4e7a1a6a39e6d81e0bc8dceef9c8e54f0a35
fixed this problem. Thanks for your report.