Bug(バグ) #2001
DBMSにSQLiteを使用すると、他人の日記にコメントを書き込む時にエラーが発生する
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
fix database error for SQLite (fixes #2001)
fix calling date() more than once (refs #2001)
History
#1 Updated by Youichi Kimura over 13 years ago
- Status changed from New(新規) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 d451d784481246f1496742860272537451c034b9 で適用されました。
#2 Updated by Rimpei Ogawa over 13 years ago
- Assignee set to Rimpei Ogawa
- Target version set to v1.3.2
#3 Updated by Rimpei Ogawa about 13 years ago
- Status changed from Pending Review(レビュー待ち) to Fixed(完了)
- % Done changed from 50 to 100