バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > その他 > SC_DbConn を削除しました

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nanasess
投稿日時: 2010/8/3 20:36
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2147
SC_DbConn を削除しました
永らくの課題であった SC_DbConn クラスの削除を実施しました.
version-2_5-dev ブランチにコミットしています.

http://svn.ec-cube.net/open_trac/ticket/565

http://svn.ec-cube.net/open_trac/changeset?new=18773%40%2F&old=18769%40%2F

ビッグコミッットですので, 万が一不具合など発見されましたらフィードバック頂けると幸いです.
seasoft
投稿日時: 2010/8/4 8:34
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: SC_DbConn を削除しました
初回インストール時、SC_Query#SC_Query にて、$this->conn に MDB2_Error がセットされて、$this->conn->setCharset(CHAR_CODE); で下記エラーが発生するようです。

Fatal error: Call to undefined method MDB2_Error::setCharset() in /home/eccube/ec25d/data/class/SC_Query.php on line 66

取り急ぎ、ご報告まで。


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

seasoft
投稿日時: 2010/8/4 8:46
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: SC_DbConn を削除しました
再インストール時の既存テーブル・ビュー削除で下記エラーが発生しました。

Fatal error: Class 'DB' not found in /home/eccube/ec25d/html/install/index.php on line 869

取り急ぎ、ご報告まで。


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

seasoft
投稿日時: 2010/8/4 8:51
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: SC_DbConn を削除しました
引用:

seasoftさんは書きました:
初回インストール時、SC_Query#SC_Query にて、$this->conn に MDB2_Error がセットされて、$this->conn->setCharset(CHAR_CODE); で下記エラーが発生するようです。

Fatal error: Call to undefined method MDB2_Error::setCharset() in /home/eccube/ec25d/data/class/SC_Query.php on line 66

取り急ぎ、ご報告まで。


一応、対処してみました。これで良いのか確信が無いので、確認をお願いします。> nanasess 様
http://svn.ec-cube.net/open_trac/changeset/18774


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

nanasess
投稿日時: 2010/8/4 9:29
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2147
Re: SC_DbConn を削除しました
引用:

seasoftさんは書きました:
引用:

seasoftさんは書きました:
初回インストール時、SC_Query#SC_Query にて、$this->conn に MDB2_Error がセットされて、$this->conn->setCharset(CHAR_CODE); で下記エラーが発生するようです。

Fatal error: Call to undefined method MDB2_Error::setCharset() in /home/eccube/ec25d/data/class/SC_Query.php on line 66

取り急ぎ、ご報告まで。


一応、対処してみました。これで良いのか確信が無いので、確認をお願いします。> nanasess 様
http://svn.ec-cube.net/open_trac/changeset/18774


ありがとうございます.
エラーハンドリングが, まだダメダメなので, 修正が追いついていませんでした(汗)

SC_Query::isError() は, MDB2 のインスタンスしかチェックできないので, 本体の使用箇所を無くして廃止したいです.

MDB2 を使うようになって, MDB2_Statement などもチェックする必要があるので, PEAR::isError() を使うようにした方が良いと思います.

他にも, エラーの発生した箇所がわかりにくかったり, いろいろ修正したい箇所がありますので, 後ほど修正分をコミットしておきますね.
nanasess
投稿日時: 2010/8/4 13:59
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2147
Re: SC_DbConn を削除しました
とり急ぎですが, 追加の修正をコミットしました.

http://svn.ec-cube.net/open_trac/changeset/18775
seasoft
投稿日時: 2010/8/6 16:18
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: SC_DbConn を削除しました
引用:

とり急ぎですが, 追加の修正をコミットしました.

http://svn.ec-cube.net/open_trac/changeset/18775


上で報告させていただきました下記2件の不具合が発現しないことを確認いたしました。
ご報告まで。

引用:

再インストール時の既存テーブル・ビュー削除で下記エラーが発生しました。

Fatal error: Class 'DB' not found in /home/eccube/ec25d/html/install/index.php on line 869


引用:

初回インストール時、SC_Query#SC_Query にて、$this->conn に MDB2_Error がセットされて、$this->conn->setCharset(CHAR_CODE); で下記エラーが発生するようです。

Fatal error: Call to undefined method MDB2_Error::setCharset() in /home/eccube/ec25d/data/class/SC_Query.php on line 66


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

nanasess
投稿日時: 2010/8/6 16:46
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2147
Re: SC_DbConn を削除しました
以下の方針で, 追加の修正をしようと思います.

* SC_Query のコンストラクタの第2引数を true にすることで, DBエラーが発生しても処理を続行するように修正
* SC_DB_DBFactory_Ex::getInstance(); の引数で, SC_Query のインスタンスを渡す. これにより, SC_DB_DBFactory 内部での SC_Query の循環参照を防止する
* SC_DB_DBFactory では, SC_Utils を使用しないよう修正. SC_Query は, 他の EC-CUBE クラスに依存せず, 単独で動作するように.
seasoft
投稿日時: 2010/8/8 11:51
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: SC_DbConn を削除しました
> * SC_DB_DBFactory では, SC_Utils を使用しないよう修正. SC_Query は, 他の EC-CUBE クラスに依存せず, 単独で動作するように.

こちらの意図は、どのようなものでしょうか?

SC_Utils を別のクラスに依存しないようにするのが筋のような気もしまして。


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

nanasess
投稿日時: 2010/8/9 10:06
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2147
Re: SC_DbConn を削除しました
引用:

seasoftさんは書きました:
> * SC_DB_DBFactory では, SC_Utils を使用しないよう修正. SC_Query は, 他の EC-CUBE クラスに依存せず, 単独で動作するように.

こちらの意図は、どのようなものでしょうか?

SC_Utils を別のクラスに依存しないようにするのが筋のような気もしまして。


おっしゃる通りなのですが, SC_Utils がデカ過ぎて, 9月末までというスケジュールを考えると難しいのではないかというのが正直な印象です.

SC_Query や, SC_DB_DBFactory の中で, SC_Utils の使用は比較的限定されているので, まずは SC_Utils を切り離した方が, 本来すべき DB まわりの抽象化に工数が割けると考えた次第です.
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は71,640名です
総投稿数は101,383件です

投稿数ランキング

1
seasoft
7333
2
468
2999
3
AMUAMU
2712
4
nanasess
2147
5
umebius
2006
6
yuh
1612
7
red
1450
8
h_tanaka
1080
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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