プロジェクト

全般

プロフィール

Bug(バグ) #2001

DBMSにSQLiteを使用すると、他人の日記にコメントを書き込む時にエラーが発生する

Youichi Kimura約13年前に追加. ほぼ13年前に更新.

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

100%

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

説明

Overview (現象)

DBMSにSQLiteを使用しているSNSで、他人の日記にコメントを書き込むと

SQLSTATE[23000]: Integrity constraint violation: 19 diary_comment_update.last_comment_time may not be NULL, referer: http://sns.localhost/sqlite/diary/7

のようなエラーが発生する

Causes (原因)

diary_comment_update.last_comment_time にNOT NULL制約があるが、PluginDiaryCommentUpdateTable::update() メソッドで last_comment_time に値がセットされないままINSERTを実行しようとしている。

Way to fix (修正内容)

INSERT前に last_comment_time に値をセットする処理を追加

--- a/lib/model/doctrine/PluginDiaryCommentUpdateTable.class.php
+++ b/lib/model/doctrine/PluginDiaryCommentUpdateTable.class.php
@@ -28,6 +28,7 @@ class PluginDiaryCommentUpdateTable extends Doctrine_Table
     }

     $object->setMyLastCommentTime(date('Y-m-d H:i:s'));
+    $object->setLastCommentTime(date('Y-m-d H:i:s'));
     $object->save();

     $this->createQuery()->update()

関係しているリビジョン

リビジョン d451d784 (差分)
Youichi Kimuraほぼ13年前に追加

fix database error for SQLite (fixes #2001)

リビジョン dc95c170 (差分)
Rimpei Ogawaほぼ13年前に追加

fix calling date() more than once (refs #2001)

履歴

#1 Youichi Kimuraほぼ13年前に更新

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

更新履歴 d451d784481246f1496742860272537451c034b9 で適用されました。

#2 Rimpei Ogawaほぼ13年前に更新

  • 担当者Rimpei Ogawa にセット
  • 対象バージョンv1.3.2 にセット

#3 Rimpei Ogawaほぼ13年前に更新

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

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