プロジェクト

全般

プロフィール

Bug(バグ) #4157

完了

OpenPNE 3 - Task(タスク) #4033: MySQLのStrict Modeを有効にした場合に生じる問題を調査

MySQLのSTRICT_TRANS_TABLESが有効な状態でメッセージの削除を行うとエラー

Youichi Kimura さんがほぼ8年前に追加. 7年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2017-02-17
期日:
進捗率:

100%

予定工数:
3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Unknown (未調査)

説明

Overview (概要)

MySQL 5.7 の Strict Mode が有効な状態での動作確認 (#4033) を行った際に発生した。

送信済みメッセージの削除 (「ゴミ箱」への移動) を行うと下記のエラーが発生する:

SQLSTATE[HY000]: General error: 1364 Field 'message_send_list_id' doesn't have a default value

受信メッセージの削除 (「ゴミ箱」への移動) を行うと下記のエラーが発生する:

SQLSTATE[HY000]: General error: 1364 Field 'message_id' doesn't have a default value

Causes (原因)

送信済みメッセージの削除

INSERT INTO deleted_message (is_deleted, message_id, member_id, created_at, updated_at) VALUES ('0', '1', '1', '2017-02-16 21:12:14', '2017-02-16 21:12:14')

上記のクエリで、NOT NULL 制約のある message_send_list_id に値がセットされていないことが原因。

受信メッセージの削除

INSERT INTO deleted_message (is_deleted, message_send_list_id, member_id, created_at, updated_at) VALUES ('0', '1', '2', '2017-02-16 21:18:43', '2017-02-16 21:18:43')

上記のクエリで、NOT NULL 制約のある message_id に値がセットされていないことが原因。

Way to fix (修正内容)

修正内容を記入

Youichi Kimura さんがほぼ8年前に更新

  • 題名MySQLのSTRICT_TRANS_TABLEが有効な状態でメッセージの削除を行うと から MySQLのSTRICT_TRANS_TABLESが有効な状態でメッセージの削除を行うとエラー に変更
  • 説明 を更新 (差分)
  • 親チケット#4033 にセット

Shinichi Urabe さんが7年以上前に更新

  • 担当者Shinichi Urabe にセット
  • 対象バージョン2.0.0.3 alpha 3 にセット

Shinichi Urabe さんが7年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#4162 の修正である
https://github.com/tejimaya/opMessagePlugin/pull/17 を取り込むことで改善できる

Shinichi Urabe さんが7年以上前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

merged

他の形式にエクスポート: Atom PDF