Interval型同士の減算で interval out of range発生
Closed this issue · 2 comments
0-kaz commented
interval同士の減算を実行するとエラー発生。加算は問題なし
postgres=# SELECT id, iv2 - iv1
FROM rt_time
WHERE id > 0;
ERROR: xpu_timelib.cu:2842 interval out of range
HINT: device at GPU-0, function at pgfn_interval_mi
EXPAIN結果
QUERY PLAN
----------------------------------------------------------------------------
Custom Scan (GpuScan) on rt_time (cost=100.00..142.31 rows=2000 width=20)
GPU Projection: id, (iv2 - iv1)
GPU Scan Quals: (id > 0) [rows: 2000 -> 2000]
(3 rows)
全体クエリ
DROP TABLE IF EXISTS rt_time;
CREATE TABLE rt_time (
id int,
iv1 interval,
iv2 interval
);
SELECT pg_strom.random_setseed(1000)
INSERT INTO rt_time (
SELECT x
,pgstrom.random_timestamp(0.5) - pgstrom.random_timestamp(0.5)
,pgstrom.random_timestamp(0.5) - pgstrom.random_timestamp(0.5)
FROM generate_series(1,2000) x);
set enable_seqscan=off;
set pg_strom.enabled=on;
EXPLAIN SELECT id, iv2 - iv1
FROM rt_time
WHERE id > 0;
kaigai commented
cd57adc3f9dd498facfeb4b35944a6841558a323
で修正しました。
GPU側のinterval_mi()
を実装した際、間違ってinterval_pl()
の範囲チェックをそのままコピペしちゃったぽいですね。
0-kaz commented
解消確認しました。ご対応ありがとうございました。