Project

General

Profile

Bug(バグ) #2001

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

Added by Youichi Kimura over 8 years ago. Updated about 8 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2011-04-10
Due date:
% Done:

100%

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

Description

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()

Associated revisions

Revision d451d784 (diff)
Added by Youichi Kimura over 8 years ago

fix database error for SQLite (fixes #2001)

Revision dc95c170 (diff)
Added by Rimpei Ogawa over 8 years ago

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

History

#1 Updated by Youichi Kimura over 8 years ago

  • Status changed from New(新規) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

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

#2 Updated by Rimpei Ogawa over 8 years ago

  • Assignee set to Rimpei Ogawa
  • Target version set to v1.3.2

#3 Updated by Rimpei Ogawa about 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Fixed(完了)
  • % Done changed from 50 to 100

Also available in: Atom PDF