[Cpan-forum-commit] rev 215 - in trunk: . lib/CPAN/Forum/DB
svn at pti.co.il
svn at pti.co.il
Thu Aug 31 01:27:15 IDT 2006
Author: gabor
Date: 2006-08-31 01:27:14 +0300 (Thu, 31 Aug 2006)
New Revision: 215
Modified:
trunk/
trunk/lib/CPAN/Forum/DB/Posts.pm
Log:
change the latest_thread query to work better..
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:11095
+ 8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:11096
Modified: trunk/lib/CPAN/Forum/DB/Posts.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Posts.pm 2006-08-30 22:27:11 UTC (rev 214)
+++ trunk/lib/CPAN/Forum/DB/Posts.pm 2006-08-30 22:27:14 UTC (rev 215)
@@ -11,7 +11,20 @@
__PACKAGE__->has_a(gid => "CPAN::Forum::DB::Groups");
__PACKAGE__->set_sql(latest => "SELECT __ESSENTIAL__ FROM __TABLE__ ORDER BY DATE DESC LIMIT %s");
-__PACKAGE__->set_sql(latest_threads => "SELECT __ESSENTIAL__ FROM __TABLE__ WHERE parent is NULL ORDER BY DATE DESC LIMIT ?");
+#__PACKAGE__->set_sql(latest_threads => "SELECT A.id, A.thread, A.date FROM posts A WHERE
+# thread IN (SELECT DISTINCT B.thread FROM posts B ORDER BY B.date DESC LIMIT ?)
+# AND
+# id IN (SELECT max(id) FROM posts C WHERE C.thread=A.thread)
+# ORDER BY A.date DESC");
+
+__PACKAGE__->set_sql(latest_threads => "SELECT A.id, A.thread, A.date FROM posts A WHERE
+ thread IN (
+ SELECT DISTINCT X.thread FROM posts X WHERE X.thread IN (
+ SELECT B.thread FROM posts B ORDER BY B.date DESC LIMIT ?))
+ AND
+ id IN (SELECT max(id) FROM posts C WHERE C.thread=A.thread)
+ ORDER BY A.date DESC");
+
__PACKAGE__->set_sql(count_thread => "SELECT count(*) FROM __TABLE__ WHERE thread=%s");
__PACKAGE__->set_sql(count_where => "SELECT count(*) FROM __TABLE__ WHERE %s='%s'");
__PACKAGE__->set_sql(count_like => "SELECT count(*) FROM __TABLE__ WHERE %s LIKE '%s'");
@@ -66,4 +79,3 @@
1;
-
More information about the Cpan-forum-commit
mailing list