-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(JP) JOIN操作を含むSQL文の実行中にAssertionFailedとなることがある #13
Comments
スキャンの終了条件の判定に起因する同じようなエラーを、LWLock => Transaction Lockへの修正中に見つけて修正しています。 |
最新版で再現確認したところ、再現しました。 今のところ、次の操作で確実に再現しています。 SET enable_seqscan TO off;
SELECT score, count(*) FROM member_score GROUP BY score;
SELECT gender, avg(score) FROM member_score JOIN member_gender USING(id) GROUP BY gender; |
了解。当方でも試してみますので、データを生成するSQLを教えていただけますか? |
データを生成した際のSQL文です。 create table member_score as select (trunc(random()*1000000+1))::int4 as id,
('01/01/2014'::date + trunc(random() * 365) * '1 day'::interval)::date as date,
(trunc(random()*1000))::int4 as score
from generate_series(1,10000000); create table member_gender as select generate_series(1,1000000)::int4 as id, trunc(random() * 2 + 1)::int4 as gender; |
再現しません…。 make clean && make install してもらえますか? PostgreSQLのMakefileは *.h の変更時に関連する *.c を再コンパイルするようになっていないので、もしかすると、一部のファイルが古い構造体定義を見ているかもしれません。 |
postgres=# explain analyze SELECT gender, avg(score) FROM member_score JOIN member_gender USING(id) GROUP BY gender; HashAggregate (cost=513017.46..513017.48 rows=2 width=8) (actual time=9758.470..9758.473 rows=2 loops=1) GpuScanを使っているのは間違いないです。 |
解析の結果、初回スキャンでtcacheにカラムXが乗っており、次回スキャンで ExecStoreTuple 周りの処理を修正して不再現確認。クローズとします。 |
JOIN操作を含むSQL文を実行すると、まれにAssertionFailedとなることがあります。
psqlから実行したもので、多重実行は行っていません。
The text was updated successfully, but these errors were encountered: