バージョン選択

フォーラム

メニュー

オンライン状況

57 人のユーザが現在オンラインです。 (47 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 57
もっと...

サイト内検索

バグ報告 > 管理機能 > 商品検索での不具合

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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 でも、「=」使ったらうまく行きました。
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 で仕様に変更があったようですので、それ絡みでしょうか。
http://www.sraoss.co.jp/technology/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です。


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

seasoft
投稿日時: 2008/10/27 12:55
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品検索での不具合
> PostgreSQL 8.3 で仕様に変更があったようですので、それ絡みでしょうか。

その確率はありそうですね。当方では PostgreSQL 8.2系にて問題が発生しませんでした。時間があったら、後で 8.3系 も試してみたいと思います。


本件とは関係ないとは思いますが、「status LIKE '1'」というのも気持ちが悪いなぁ…

(追記)
いや、リンク先を見たら ↑ 関係あるかも。暗黙変換の仕様が変わっていますね。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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/

よろしくお願いします。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,698名です
総投稿数は109,943件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1283
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.