-
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) codegen.cが生成するコードとPostgreSQLの演算系コードで差異 #5
Comments
dfebc81 で、codegen.c にかなり強烈な修正を エンバグしていても全く不思議ではないので、作成中のテストケースを流して問題を報告して それと、GpuScanの条件句の中で、上記のような変なデータを食うようなパターンを作っておき、 |
これだけで落ちてしまうようになったのですが... |
|
codegen.cの1156行目は |
taiki-kさんの修正をいれたらSEGVを回避できました。 以下のクエリでもエラーになるので色々とおかしくなっているようです...
|
現在のコードでは、テンプレート内に |
コードのコメントを読んで気づきましたが、 |
すいません。カタログの記載を直した時のミスですね。
これから直しますので、ちょっと今日はこの辺で切り上げてください。。。 |
according to the research at #5, codegen.c was reworked. arithmetrics operators (+-*/) on int/float were moved to pre-declared functions to handler overflow/zero-division check correctly.
It was reported by Kondo Taiki, during investigation of bug #5
codegen.cが生成するOpenCLコードと、PostgreSQLの数値演算・比較系の部分の例外処理の差異を確認したところ、以下の差異を検出。
NaNは非NaNよりも大きいとし、NaN == NaNは真としている。
特に、float系の比較演算におけるNaNの扱いは、PostgreSQL側と合わせないと予期しない動作をすると考える。
The text was updated successfully, but these errors were encountered: