Actions
Bug(バグ) #275
closedあしあとの表示が正常に動作していない
Start date:
2009-11-26
Due date:
% Done:
100%
Estimated time:
3.6 で発生するか:
Yes
[QA]バグ通知済:
Yes
3.8 で発生するか:
Description
http://sns.openpne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=5128 より転記
お世話になっております。 あしあとの表示についてですが、あしあとのページには 「最新30件までを表示、同一人物・同一日付のアクセスは最新の日時だけが表示されます。」 となっておりますが、現状の表示は以下の様になっているように思います。 ①1日につき1件の足跡しか表示されない。 ②日付は当日の最新のものが表示される。 ③アクセスした人の名前は当日最初にアクセスした人の名前が表示される。 (日付と名前が対応していない) ①の動作は仕様でしょうか? また、②③について、あしあとの日付と名前を対応付けるには、どのようにすればよろしいでしょうか。 お手数をおかけ致しますが、宜しくお願いいたします。 環境:開発版 OpenPNE 3.1.5
Files
Updated by Kousuke Ebihara almost 15 years ago
- Project changed from OpenPNE 3 to OpenPNE3 Plugins
Updated by Shogo Kawahara over 14 years ago
- File patch.diff patch.diff added
この問題を解決できるであろうパッチを作成しました。
Updated by Shogo Kawahara over 14 years ago
- File patch2.diff patch2.diff added
さらに追加でパッチを作成しました。
日時が誤っている問題の修正です。
Updated by Kousuke Ebihara about 14 years ago
- Priority changed from Normal(通常) to High(高め)
Updated by Kousuke Ebihara almost 14 years ago
- Project changed from OpenPNE3 Plugins to opAshiatoPlugin
- [QA]バグ通知済 set to No
Updated by Masato Nagasawa over 13 years ago
- File opAshiatoPlugin-bug.png opAshiatoPlugin-bug.png added
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Masato Nagasawa
#note-3 にてついてはすでに修正されているので適応する必要はないです。
#note-4 は現在の最新版(0.9.1.2)でも修正されておらず、順序が間違って表示されています。
意図的に再現させた際のスクリーンショットを添付しておきます。
修正方針ですが、
添付されているパッチでは、updated_at の名前を変更して対応を行なっていますが、
この場合修正範囲が広くなるため別の対応で行いたいです。
「->orderBy('MAX(updated_at) DESC');」
のように名前を変更せずに
MAX関数を追加する方向で修正するほうが修正範囲が少なく安全ではないかと思われます。
(負荷的な面ではこちらのほうが重い?)
Updated by Masato Nagasawa over 13 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
Updated by Naoya Tozuka over 13 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
「->orderBy('MAX DESC');」 のように名前を変更せずにMAX関数を追加する方向で修正
でも名前を変更した場合と同等の負荷になるようですが、ここでは(今のまま)名前の変更で問題ありません。
他の箇所でも参照する変数であるため、"ua" より説明的な変数名(例:"max_updated_at")への変更が望ましいです。
備考¶
MySQLのEXPLAIN文で見る限りでは負荷要因の軽減は見られませんでした:
mysql> EXPLAIN SELECT *,MAX(updated_at) as updated_at FROM ashiato WHERE member_id_to = 3 AND r_date IN ('2011-05-19') GROUP BY member_id_from, r_date ORDER BY MAX(updated_at) DESC; +----+-------------+---------+------+-------------------------------------------------------------------------------------+-------------------------+---------+-------------+------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+---------+------+-------------------------------------------------------------------------------------+-------------------------+---------+-------------+------+----------------------------------------------+ | 1 | SIMPLE | ashiato | ref | member_id_to_idx,member_id_to_member_id_from_updated_at_idx,member_id_to_r_date_idx | member_id_to_r_date_idx | 9 | const,const | 1 | Using where; Using temporary; Using filesort | +----+-------------+---------+------+-------------------------------------------------------------------------------------+-------------------------+---------+-------------+------+----------------------------------------------+ 1 row in set (0.06 sec) mysql> EXPLAIN SELECT *,MAX(updated_at) as max_updated_at FROM ashiato WHERE member_id_to = 3 AND r_date IN ('2011-05-19') GROUP BY member_id_from, r_date ORDER BY max_updated_at DESC; +----+-------------+---------+------+-------------------------------------------------------------------------------------+-------------------------+---------+-------------+------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+---------+------+-------------------------------------------------------------------------------------+-------------------------+---------+-------------+------+----------------------------------------------+ | 1 | SIMPLE | ashiato | ref | member_id_to_idx,member_id_to_member_id_from_updated_at_idx,member_id_to_r_date_idx | member_id_to_r_date_idx | 9 | const,const | 1 | Using where; Using temporary; Using filesort | +----+-------------+---------+------+-------------------------------------------------------------------------------------+-------------------------+---------+-------------+------+----------------------------------------------+ 1 row in set (0.00 sec)
Updated by Masato Nagasawa over 13 years ago
- Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
Updated by Naoya Tozuka over 13 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
OKです。修正対応どうもありがとうございます。
Updated by isao sano over 13 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
テスト完了いたしました。
問題は発見されなかったためFixedいたします。
Actions