バグ報告 > 管理機能 > 商品検索での不具合 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shiro2007 |
投稿日時: 2008/10/27 12:48
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2008/9/10 居住地: 投稿: 52 |
商品検索での不具合 環境
EC-CUBEバージョン 2.3.0 PHPバージョン 5.2.6 PostgreSQL 8.3.4 商品管理の「商品マスタ」で、検索時に種別の公開または公開を選択すると、 「システムエラーが発生しました。・・・」が出ます。 その際の PostgreSQL のログです。(関係すると思われる場所) [5-1] ERROR: operator does not exist: smallint ~~ unknown at character 65 [5-2] HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. [5-3] STATEMENT: SELECT COUNT(*) FROM dtb_products WHERE del_flg = 0 AND (status LIKE '1' ) PostgreSQL 8.3 で仕様に変更があったようですので、それ絡みでしょうか。 http://www.sraoss.co.jp/technology/postgresql/8.3/ よろしくお願いします。 |
seasoft |
投稿日時: 2008/10/27 12:55
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: 商品検索での不具合 > PostgreSQL 8.3 で仕様に変更があったようですので、それ絡みでしょうか。
その確率はありそうですね。当方では PostgreSQL 8.2系にて問題が発生しませんでした。時間があったら、後で 8.3系 も試してみたいと思います。 本件とは関係ないとは思いますが、「status LIKE '1'」というのも気持ちが悪いなぁ… (追記) いや、リンク先を見たら ↑ 関係あるかも。暗黙変換の仕様が変わっていますね。
|
homan |
投稿日時: 2008/10/27 14:23
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 商品検索での不具合 僕もshiro2007さんと同様の環境で同じエラーがでました。
EC-CUBE: 2.3.0 および 2.2.0-beta PHPバージョン:5.2.6 PostgreSQL:8.3.4 引用: PostgreSQL 8.3 で仕様に変更があったようですので、それ絡みでしょうか。 たぶん、リンク先の「文字でない型 (日付型など) を自動的に text 型に変換しないようにしました。 」という部分が該当しそうですね。 取り急ぎ「LIKE」の代わりに「=」を使うことで正常になりました(公開、非公開は数字の「1」と「2」で管理されているため)。8.2以前でも特に問題ないかと思いますが、環境が今すぐ手配できないので確認できません。すみません。 もしくは、リンク先に記載されている「これからは text 型でないデータを渡したい場合には text 型への明示的なキャストが必要になります。 」に従うとよいかもしれませんね。 # 追記 修正した箇所は data/class/pages/admin/products/LC_Page_Admin_products.phpの 「case 'search_status': // ステータス」の5、7行下くらいの部分にあるLIKEです。
|
shiro2007 |
投稿日時: 2008/10/27 20:28
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2008/9/10 居住地: 投稿: 52 |
Re: 商品検索での不具合 追加ですいません。
最初に書いておくべきでしたが、実は別の環境にもEC-CUBEを入れていて、 そちらでは問題ありません。 別の環境 ---------------------- EC-CUBEバージョン 2.1.2 PHPバージョン 5.2.5 PostgreSQL 8.2.1 ---------------------- 上記環境では、元々問題ないのですが、「LIKE」の代わりに「=」を使っても問題なかったです。 (正しく検索できました) PostgreSQL 8.3.4 でも、「=」使ったらうまく行きました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |