Now that we have the token system, I've changed it so that any post (except to the test subforum) will increment your post count.
Here is how the post ranking is set up:
Newbie - 0 posts
Student - 10 posts
Apprentice - 100 posts
Scholar - 250 posts
Sage - 500 posts
Guru - 1000 posts
Prodigy - 2500 posts
Savant - 5000 posts
Post count
Moderator: Moderators
- Vladd44
- Sage
- Posts: 571
- Joined: Mon Jan 03, 2005 10:58 am
- Location: Climbing out of your Moms bedroom window.
- Contact:
Post #22
And this is what I am seeing
When I was a child, I spake as a child, I understood as a child, I thought as a child: but when I became a man, I put away childish things.[GOD] ‑ 1 Cor 13:11
WinMX, BitTorrent and other p2p issues go to http://vladd44.com
WinMX, BitTorrent and other p2p issues go to http://vladd44.com
- McCulloch
- Site Supporter
- Posts: 24063
- Joined: Mon May 02, 2005 9:10 pm
- Location: Toronto, ON, CA
- Been thanked: 3 times
Post #23
As a developer, I hate it when users complain about a problem that I cannot recreate. I know that they experience the problem (usually) but I cannot go about trying to fix a problem that I cannot get a handle on. Could it have something to do with the international settings in the affected user's profiles?
Examine everything carefully; hold fast to that which is good.
First Epistle to the Church of the Thessalonians
The truth will make you free.
Gospel of John
First Epistle to the Church of the Thessalonians
The truth will make you free.
Gospel of John
- otseng
- Savant
- Posts: 20566
- Joined: Thu Jan 15, 2004 1:16 pm
- Location: Atlanta, GA
- Has thanked: 197 times
- Been thanked: 337 times
- Contact:
Post #24
Well, I found the sql code to generate the data:
If you really would like for me to try to dive into this, I guess I could try to find out what is wrong with the query.
Code: Select all
SELECT DISTINCT u.*, (CASE WHEN i.buddy_ignore = 0 THEN 1 ELSE 0 END) AS user_my_friend_virt, i.buddy_visible AS user_my_visible_virt, (CASE WHEN i.buddy_ignore = 1 THEN 1 ELSE 0 END) AS user_my_ignore_virt, (CASE WHEN b.buddy_ignore = 0 THEN 1 ELSE 0 END) AS user_friend_virt, b.buddy_visible AS user_visible_virt, (CASE WHEN b.buddy_ignore = 1 THEN 1 ELSE 0 END) AS user_ignore_virt, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 0 <> 0 OR 0 <> 1 ) AND ( b.buddy_visible = 1 OR ( u.user_allow_viewonline = 1 OR (0 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_allow_viewonline = 2 OR (0 = 2 AND 0 = 1) ) ) ) )) THEN (CASE WHEN u.user_session_time >= (1175483462-300) THEN 1 ELSE 0 END) ELSE '' END) AS user_online_virt, u.username AS username_virt, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 0 <> 0 OR 0 <> 1 ) AND ( b.buddy_visible = 1 OR ( u.user_allow_viewonline = 1 OR (0 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_allow_viewonline = 2 OR (0 = 2 AND 0 = 1) ) ) ) )) THEN u.user_regdate ELSE '' END) AS user_regdate_virt, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 0 <> 0 OR 0 <> 1 ) AND ( b.buddy_visible = 1 OR ( u.user_allow_viewonline = 1 OR (0 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_allow_viewonline = 2 OR (0 = 2 AND 0 = 1) ) ) ) )) THEN u.user_lastvisit ELSE '' END) AS user_lastvisit_virt, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 0 <> 0 OR 0 <> 1 ) AND ( b.buddy_visible = 1 OR ( u.user_allow_viewonline = 1 OR (0 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_allow_viewonline = 2 OR (0 = 2 AND 0 = 1) ) ) ) )) THEN u.user_posts ELSE '' END) AS user_posts_virt, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 1 <> 0 OR 0 <> 1 ) AND u.user_allow_website = 1 AND ( b.buddy_visible = 1 OR ( u.user_viewwebsite = 1 OR (1 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_viewwebsite = 2 OR (1 = 2 AND 0 = 1) ) ) ) )) THEN r.rank_title ELSE '' END) AS user_rank_title_virt, 1 AS user_generic_display, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 0 <> 0 OR 0 <> 1 ) AND ( b.buddy_visible = 1 OR ( u.user_allow_viewonline = 1 OR (0 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_allow_viewonline = 2 OR (0 = 2 AND 0 = 1) ) ) ) )) THEN 1 ELSE '' END) AS user_viewonline_display, (CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 1 <> 0 OR 0 <> 1 ) AND u.user_allow_website = 1 AND ( b.buddy_visible = 1 OR ( u.user_viewwebsite = 1 OR (1 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_viewwebsite = 2 OR (1 = 2 AND 0 = 1) ) ) ) )) THEN 1 ELSE '' END) AS user_webdisplay_display FROM (((( phpbb_users AS u) LEFT JOIN phpbb_buddy AS i ON i.user_id=62 AND i.buddy_id=u.user_id) LEFT JOIN phpbb_buddy AS b ON b.user_id=u.user_id AND b.buddy_id=62) LEFT JOIN phpbb_ranks AS r ON (u.user_rank > 0 AND r.rank_special <> 0 AND r.rank_id = u.user_rank) OR (u.user_rank = 0 AND r.rank_special = 0 AND u.user_posts >= r.rank_min AND u.user_posts < r.rank_max)) WHERE u.user_id <> -1 ORDER BY user_posts_virt DESC
- Cathar1950
- Site Supporter
- Posts: 10503
- Joined: Sun Feb 13, 2005 12:12 pm
- Location: Michigan(616)
- Been thanked: 2 times
Post #25
I think we should start a 4000 + group..lolotseng wrote:Seems to work for me.McCulloch wrote:Did you know if you use the sort column on the Member List it sorts the number of posts alphabetically?
I see you at top with 4718 posts, Cathar1950 with 3961 posts, and me with 3377 posts.
Of course as soon as we get 4000 + Otseng, Mack will be at 5000+ and leave us behind. I am now at 3972. I have way to much fun here.
Has it been that long?13 Feb 2005 (778 Days)
I noticed Rob and sender have me on their ignored llist. Does that mean I can talk about them and they don't know?
It is so hurtfull that I refuse to put anyone on my list.
- McCulloch
- Site Supporter
- Posts: 24063
- Joined: Mon May 02, 2005 9:10 pm
- Location: Toronto, ON, CA
- Been thanked: 3 times
Post #26
The problem is with this bit.
Or parsed
The issue is that when the CASE falls through and the ELSE is executed, it may generate an empty string rather than an integer, making the entire virtual column into a string rather than an integer.
This does not happen with Microsoft SQL Server (I tested) but it seems to be happening with your implementation of SQL. Here's something you could do to test to see if this is what is happening. Change to This would render whatever is being tested for in the CASE as an integer (-99) rather than a string ('').
Code: Select all
(CASE WHEN (u.user_id = 62 OR ( ( i.buddy_ignore <> 1 OR i.buddy_ignore IS NULL ) AND ( 0 <> 0 OR 0 <> 1 ) AND ( b.buddy_visible = 1 OR ( u.user_allow_viewonline = 1 OR (0 = 1 AND 0 = 1) ) OR ( b.buddy_ignore = 0 AND ( u.user_allow_viewonline = 2 OR (0 = 2 AND 0 = 1) ) ) ) )) THEN u.user_posts ELSE '' END) AS user_posts_virt
Code: Select all
(
CASE
WHEN
(
u.user_id = 62 OR
(
(
i.buddy_ignore <> 1
OR
i.buddy_ignore IS NULL
)
AND
(
0 <> 0
OR
0 <> 1
)
AND
(
b.buddy_visible = 1
OR
(
u.user_allow_viewonline = 1
OR
(
0 = 1
AND
0 = 1
)
)
OR
(
b.buddy_ignore = 0
AND
(
u.user_allow_viewonline = 2
OR
(
0 = 2
AND
0 = 1
)
)
)
)
)
)
THEN
u.user_posts
ELSE
''
END
)
AS user_posts_virt
This does not happen with Microsoft SQL Server (I tested) but it seems to be happening with your implementation of SQL. Here's something you could do to test to see if this is what is happening. Change
Code: Select all
THEN
u.user_posts
ELSE
''
END
Code: Select all
THEN
u.user_posts
ELSE
-99
END
Examine everything carefully; hold fast to that which is good.
First Epistle to the Church of the Thessalonians
The truth will make you free.
Gospel of John
First Epistle to the Church of the Thessalonians
The truth will make you free.
Gospel of John
- otseng
- Savant
- Posts: 20566
- Joined: Thu Jan 15, 2004 1:16 pm
- Location: Atlanta, GA
- Has thanked: 197 times
- Been thanked: 337 times
- Contact:
Post #27
Nice debugging skills McCulloch!
The code that generates the query is quite complicated. (I guess that's why the author of that piece of code is no longer supporting it? ) I made a change to it though and I think I've fixed it. Though hopefully I didn't break something else in the process.
The code that generates the query is quite complicated. (I guess that's why the author of that piece of code is no longer supporting it? ) I made a change to it though and I think I've fixed it. Though hopefully I didn't break something else in the process.
- otseng
- Savant
- Posts: 20566
- Joined: Thu Jan 15, 2004 1:16 pm
- Location: Atlanta, GA
- Has thanked: 197 times
- Been thanked: 337 times
- Contact:
Post #28
As for new titles, how about implementing two of the ones McCulloch suggested:
2,500 - prodigy
5,000 - savant
Once we have several over 5000, we can come back and revisit the issue.
2,500 - prodigy
5,000 - savant
Once we have several over 5000, we can come back and revisit the issue.
- McCulloch
- Site Supporter
- Posts: 24063
- Joined: Mon May 02, 2005 9:10 pm
- Location: Toronto, ON, CA
- Been thanked: 3 times
Post #29
That seems to have corrected the problem.otseng wrote:Nice debugging skills McCulloch!
The code that generates the query is quite complicated. (I guess that's why the author of that piece of code is no longer supporting it? ) I made a change to it though and I think I've fixed it. Though hopefully I didn't break something else in the process.
Examine everything carefully; hold fast to that which is good.
First Epistle to the Church of the Thessalonians
The truth will make you free.
Gospel of John
First Epistle to the Church of the Thessalonians
The truth will make you free.
Gospel of John
- methylatedghosts
- Sage
- Posts: 516
- Joined: Sun Oct 08, 2006 8:21 pm
- Location: Dunedin, New Zealand