We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
最新のコードにて、文字列の"<"や">"の比較を試していますが、 SeqScanの結果と一致しない場合が出現しました。
SELECT * FROM member_pref_str WHERE pref_name < 'Ehime';
pgstrom_test=# \d member_pref_str Table "public.member_pref_str" Column | Type | Modifiers -----------+---------+----------- pref | integer | pref_name | text |
pref | pref_name ------+----------- 2 | Aomori 3 | Akita 12 | Chiba 20 | Aichi (4 rows)
*結果(GpuScan)
pref | pref_name ------+----------- 2 | Aomori 3 | Akita 12 | Chiba 20 | Aichi 37 | Ehime (5 rows)
The text was updated successfully, but these errors were encountered:
OpenCL側でテキストを比較する varlena_cmp において、 varlena型(可変長データ型; textなど)の長さを取得するために VARSIZE_ANY() マクロを使用していた。
が、これは varlena型のヘッダ領域を含むサイズを返却する。 varlena型は4-byte又は1-byteのヘッダにデータ領域が続く 形式になっているため、VARSIZE_ANY_EXHDR() を使用 しなければデータ領域のみの長さを算出できない。
PostgreSQL本体より上記のマクロをポーティングし、 OpenCLのvarlena_cmp()を修正。
postgres=# select * from t6 where pref > 'Iwate'; id | pref ----+---------- 5 | Miyagi 6 | Yamagata (2 rows)
postgres=# set pg_strom.enabled = off; SET postgres=# select * from t6 where pref > 'Iwate'; id | pref ----+---------- 5 | Miyagi 6 | Yamagata (2 rows)
Sorry, something went wrong.
最新版で確認しました。 SeqScanの結果と一致するようになりました。
No branches or pull requests
最新のコードにて、文字列の"<"や">"の比較を試していますが、
SeqScanの結果と一致しない場合が出現しました。
*結果(GpuScan)
The text was updated successfully, but these errors were encountered: