ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 8 years ago

Closed 8 years ago

#4428 closed defect (fixed)

画像が別DBで管理されていた場合、画像サイズレコードが削除されない

Reported by: kiwa Owned by: kiwpon
Priority: minor Milestone: OpenPNE2.14.6
Component: 指定しない Version: 2.14.x
Keywords: Cc:

Description (last modified by kiwpon)

■概要

画像が別DBで管理されていた場合、画像を削除しても画像サイズレコードが削除されない

■原因

c_image_sizeは main DBに記録しているが、db_image_delete_c_image() では image DBへ削除クエリを発行している。

■修正内容

c_image_sizeのデータの削除は、main DBを操作するように変更。

■関連情報

元の報告

http://sns.openpne.jp/diary/24070

早速バグ発見。

2.14で画像サイズ計算が導入されていますが、
画像を削除しても、画像サイズレコードが削除されない・・・。

パッチは作れるけどどこに提出したらいいのだろう・・・。


---追記 03/31---
パッチ作成しました。
■再現条件 画像DBが分かれている場合
dbのdsnはmainのがいいのかな・・・


Index: webapp/lib/db/image.php
===================================================================
--- webapp/lib/db/image.php (revision 21)
+++ webapp/lib/db/image.php (working copy)
@@ -81,6 +81,7 @@
function db_image_delete_c_image($filename, $c_member_id)
{
$db =& db_get_instance('image');
+ $db2 =& db_get_instance();

$sql = 'DELETE FROM c_image WHERE filename = ?';
$params = array($filename);
@@ -88,7 +89,7 @@

$sql = 'DELETE FROM c_image_size WHERE filename = ?';
$params = array($filename);
- $db->query($sql, $params);
+ $db2->query($sql, $params);

//function cacheの削除
$category = util_image_filename2category($filename);

関連チケット

#4437 #4428 の対応が既に削除された画像に適用されない

Change History (10)

comment:1 Changed 8 years ago by kiwpon

Owner: changed from nobody to kiwpon

パッチ適用やります。

comment:2 Changed 8 years ago by kiwpon

Description: modified (diff)
Summary: 画像サイズレコードが削除されない画像が別DBで管理されていた場合、画像サイズレコードが削除されない

comment:3 Changed 8 years ago by kiwpon

Keywords: 確認中 added

修正取り込みました。チケットのdescription変更はお待ちください

comment:4 Changed 8 years ago by ShogoKawahara

Description: modified (diff)
Keywords: 差し戻し added; 確認中 removed

差し戻しです。

  • c_image_sizeからのレコード削除時は $db2->query() ではなく db_query()を使うべきだと思います。
  • よって $db2 は不要かと思われます。

comment:5 Changed 8 years ago by kiwpon

Keywords: 確認中 added; 差し戻し removed

以下のリビジョンでdb_query を使用するように変更しました

comment:6 Changed 8 years ago by ShogoKawahara

Description: modified (diff)

comment:7 Changed 8 years ago by ShogoKawahara

Keywords: テスト待ち added; 確認中 removed

コード的には問題ありませんが、以下の点を確認。

  • このバグが発生して対処されるまでに発生したDBの不整合を修正する必要があるか否か。

comment:8 Changed 8 years ago by kiwpon

Description: modified (diff)

comment:9 Changed 8 years ago by kiwpon

過去のデータに関しては#4437 にて対応します。

comment:10 Changed 8 years ago by imamura623

Keywords: テスト待ち removed
Resolution: fixed
Status: newclosed

テストOKです。問題ありません。

Note: See TracTickets for help on using tickets.