Project

General

Profile

Bug(バグ) #275

あしあとの表示が正常に動作していない

Added by pnetan   over 11 years ago. Updated almost 10 years ago.

Status:
Fixed(完了)
Priority:
High(高め)
Target version:
Start date:
2009-11-26
Due date:
% Done:

100%

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

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 

patch.diff View (555 Bytes) Shogo Kawahara, 2010-03-02 16:50

patch2.diff View (2.18 KB) Shogo Kawahara, 2010-05-24 20:06

opAshiatoPlugin-bug.png View (8.79 KB) Masato Nagasawa, 2011-05-17 20:08


Related issues

Duplicated by OpenPNE3 Plugins - Bug(バグ) #247: あしあとの表示が1日に1件しか表示されない Invalid(無効) 2009-11-18
Duplicated by OpenPNE3 Plugins - Bug(バグ) #177: あしあとの表示順がその日一回目にアクセスしたメンバー順になっている Invalid(無効) 2009-02-05

History

#1 Updated by pnetan   over 11 years ago

  • Target version deleted (OpenPNE 3.1.5)

#2 Updated by Kousuke Ebihara over 11 years ago

  • Project changed from OpenPNE 3 to OpenPNE3 Plugins

#3 Updated by Shogo Kawahara over 11 years ago

この問題を解決できるであろうパッチを作成しました。

#4 Updated by Shogo Kawahara about 11 years ago

さらに追加でパッチを作成しました。

日時が誤っている問題の修正です。

#5 Updated by Kousuke Ebihara almost 11 years ago

  • 3.6 で発生するか set to Yes

#6 Updated by Kousuke Ebihara over 10 years ago

ソースコードを軽く見た限りでは、修正されていそうに思いました

#7 Updated by Kousuke Ebihara over 10 years ago

  • Priority changed from Normal(通常) to High(高め)

#8 Updated by Kousuke Ebihara over 10 years ago

  • Project changed from OpenPNE3 Plugins to opAshiatoPlugin
  • [QA]バグ通知済 set to No

#9 Updated by Kousuke Ebihara over 10 years ago

  • [QA]バグ通知済 changed from No to Yes

#10 Updated by Masato Nagasawa about 10 years ago

#note-3 にてついてはすでに修正されているので適応する必要はないです。

#note-4 は現在の最新版(0.9.1.2)でも修正されておらず、順序が間違って表示されています。
意図的に再現させた際のスクリーンショットを添付しておきます。


修正方針ですが、
添付されているパッチでは、updated_at の名前を変更して対応を行なっていますが、
この場合修正範囲が広くなるため別の対応で行いたいです。
「->orderBy('MAX(updated_at) DESC');」 のように名前を変更せずに
MAX関数を追加する方向で修正するほうが修正範囲が少なく安全ではないかと思われます。
(負荷的な面ではこちらのほうが重い?)

#11 Updated by Masato Nagasawa about 10 years ago

  • Target version set to v1.1.0

#12 Updated by Masato Nagasawa about 10 years ago

パッチ同様の対応で修正します。

#13 Updated by Masato Nagasawa about 10 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#14 Updated by Naoya Tozuka about 10 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)

#15 Updated by Masato Nagasawa about 10 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

#16 Updated by Naoya Tozuka about 10 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

OKです。修正対応どうもありがとうございます。

#17 Updated by isao sano almost 10 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

テスト完了いたしました。
問題は発見されなかったためFixedいたします。

#18 Updated by Shingo Yamada almost 10 years ago

  • 360対象 set to RC1

Also available in: Atom PDF