diff options
author | jocuri%softhome.net <> | 2004-02-27 20:18:45 +0100 |
---|---|---|
committer | jocuri%softhome.net <> | 2004-02-27 20:18:45 +0100 |
commit | a9f2317f92af527b28fe648777bacf164ac029f9 (patch) | |
tree | 9de46f0bac50849ca101da842abaea021f5337d4 | |
parent | 6161333bca22fc8d6d448fd1fd5bd595bebb57ac (diff) | |
download | bugzilla-a9f2317f92af527b28fe648777bacf164ac029f9.tar.gz bugzilla-a9f2317f92af527b28fe648777bacf164ac029f9.tar.xz |
Patch for bug 192247: make Bugzilla quips truly random; code by Bill McGonigle <bill+mozilla@zettabyte.net>; r=bbaetz, justdave, a=justdave.
-rwxr-xr-x | buglist.cgi | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/buglist.cgi b/buglist.cgi index ab7373e06..d1a3c665b 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -199,7 +199,13 @@ sub GetQuip { my $quip; - SendSQL("SELECT quip FROM quips WHERE approved = 1 ORDER BY RAND() LIMIT 1"); + # COUNT is quick because it is cached for MySQL. We may want to revisit + # this when we support other databases. + + SendSQL("SELECT COUNT(quip) FROM quips WHERE approved = 1"); + my $count = FetchOneColumn(); + my $random = int(rand($count)); + SendSQL("SELECT quip FROM quips WHERE approved = 1 LIMIT $random,1"); if (MoreSQLData()) { ($quip) = FetchSQLData(); |