Ticket #1341 (closed バグ指摘: 修正済)

Opened 8 years ago

Last modified 8 years ago

MySQLでSESSIONをDB保存する際の型がTEXT型なのでデータ量によってはあふれる

Reported by: coelacanth Owned by: coelacanth
Priority: Milestone: EC-CUBE2.11.5
Component: フロント Version: 2.11.1
Keywords: Cc:
修正済み: yes

Description (last modified by shutta) (diff)

dtb_sessionにセッションを保存するカラム型がTEXT型であるため、MySQLの場合に型の範囲を超えることがある。

(PostgresはTEXT型にサイズ制限がないので問題ない)

・対応策1:SESSIONに入れるデータを減らす ・対応策2:TEXT型より範囲の大きい型に変更する

コミュニティの参照スレッド

SESSIONデータが多すぎるとMySQLのTEXT型をはみ出す  http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8112&forum=8

商品を18点以上カートに入れると、カート内の商品が0点に戻ってしまう  http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8002&forum=10

Change History

comment:1 follow-up: ↓ 3 Changed 8 years ago by Seasoft

大したオーバーヘッドもないようなので、この際全てのカラムを LONGTEXT にすれば、とか思うのですが、どうでしょう? > MySQL 詳しい方

それとは別として、「対応策1」も、いずれは必要かだと感じます。

comment:2 Changed 8 years ago by coelacanth

  • Owner changed from somebody to coelacanth

comment:3 in reply to: ↑ 1 Changed 8 years ago by shutta

  • Description modified (diff)

Seasoft への返信

大したオーバーヘッドもないようなので、この際全てのカラムを LONGTEXT にすれば、とか思うのですが、どうでしょう? > MySQL 詳しい方

(詳しい人ではないですが、)オーバーヘッド面では問題ないかと思いますが、全てのカラムに対してよりは、明示的にTEXT型以上のサイズが必要なものだけ型変更した方が分かり易いかと思います。

それとは別として、「対応策1」も、いずれは必要かだと感じます。

こちらは、 r21191 にてコミットしてみました。 一応動作確認はしていますが、色々な部分に影響していそうなので、細かなところで問題が出ていないか少し不安です。

comment:4 Changed 8 years ago by Ringo

  • Milestone set to EC-CUBE2.11.3

comment:5 Changed 8 years ago by Ringo

r21247 セッション中の商品情報に規格情報を残す。

comment:6 Changed 8 years ago by kotani

  • Milestone changed from EC-CUBE2.11.3 to EC-CUBE2.11.4(仮)

comment:7 follow-up: ↓ 8 Changed 8 years ago by kotani

  • Milestone changed from EC-CUBE2.11.5 to EC-CUBE2.12.0alpha

2_11-devブランチのコミットキャンセルが必要

comment:8 in reply to: ↑ 7 Changed 8 years ago by kotani

kotani への返信

2_11-devブランチのコミットキャンセルが必要

コミットキャンセル不要

comment:9 Changed 8 years ago by Seasoft

  • Milestone changed from EC-CUBE2.12.0alpha to EC-CUBE2.11.5

comment:10 Changed 8 years ago by kajiwara

  • Status changed from new to closed
  • 修正済み set
  • Resolution set to 修正済

本件、まず対策1にて一旦完了とします。

対策2のように型変更が必要になる部分に関して、必要であれば、2.12以降でチケットを作成して対応します。

よろしくお願いします。

Note: See TracTickets for help on using tickets.