The query logic is actually very broken - but it's taken me this long to notice it. Part of the problem is understanding what desired behaviour is and what we actually get.
Against a board of non pinned posts, there's no problem, and there's never been a problem. But when you cross the pinned barrier, it all goes to hell.
For example, 'When can I download Wedge?' is the most replied to pinned topic in /pub/, last reply Jan 12th.
The 'next' topic is the one next chronologically on from it, which is about half way down the board, while the 'previous' topic is quite rightly the previous sticky topic.
Now I pick an unpinned topic from earlier. The 'next' topic is correct, but the 'previous' topic is the pinned topic that happens to be the most recent one prior to the date of the topic in question, if that makes sense (I picked a post from mid December, which pre-dates When can I download Wedge's last reply, but is after Read This First's last reply)
And this is even before I apply non-1 values to is_pinned >_<
Posted: January 19th, 2013, 02:32 AM
It sort of depends on what the behaviour should be, I'm guessing when you reach the most recent topic in a given board that is non pinned, the next one *should* be the oldest/bottom-most pinned topic?
As in, previous/next are effectively traversal up the message index as presented?