What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

Possible Duplicates:
Undoing an old vote cannot be recast because vote is too old
Why would I be told it’s too late to change my vote when I have yet to cast a vote?

Ok, so I recently voted down a question. Then, I rephrased it and I undid my downvote. Now, when I try to upvote it says my vote is locked even though there is no actual vote now.

This seems like buggy behavior. So which one should it be?

  1. When you edit a question it doesn't affect your own vote locks(can't undo downvote)
  2. When you edit a question, it does affect vote locks completely and you can both undo your downvote and later upvote the post.
share|improve this question

marked as duplicate by Ether, Jon Seigel, jmfsg, Earlz, perbert May 3 '10 at 7:06

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2  
Why downvote with the intention to upvote after editing? –  Jon Seigel May 2 '10 at 19:41
    
@Jon I didn't intend to edit it, but ended up doing it anyway. Then I was happy with my edit and the question yet it still had a -3 vote score, so I undid my downvote and then later it started getting close votes so I tried upvoting as a way of saying this should be kept open.. –  Earlz May 2 '10 at 20:42
1  

2 Answers 2

This is a very unintuitive feature of the voting system that Jeff assumes makes complete sense.
(Yeah, I don't get it either....)

Basically, after you have voted up or down, even if you remove the vote, you still have technically voted.

I'm guessing this is because a vote might look like this in the Database:

ID | User_ID | Post_ID | Action | Timestamp
2  | 0000000 | 1000000 |   1    | 8/8/93
3  | 0000000 | 1000000 |  -1    | 8/8/93
4  | 0000000 | 1000000 |   0    | 8/8/93

Where the first is an upvote, the second is a downvote, and the third is neither a downvote or upvote.

Because when you vote (up or down) you create an entry, it probably doesn't delete that entry when you try to undo it/change it, instead it just sets it to the value you really want.

By not deleting it, you can cut down on the number of queries by doing something akin to:

INSERT INTO database (`User_ID`, `Post_ID`, `Action`, `Timestamp`)
    VALUES("$user_id", "$post_id", "$action", "$time") 
    ON DUPLICATE KEY UPDATE `Action`="$action"

instead of having to try to find if an entry already exists.

share|improve this answer

After an "unlock", by yourself or by somebody else, you always only have one chance to change your vote. Once you clicked on any of the vote arrows that new vote is immediately locked in again.

So to actually upvote the post you would have needed to directly click the upvote button, which would have changed your vote from a downvote to an upvote.

(I still really think that after an edit a new vote should not immediately lock in. It should behave the same as a new vote, with the same grace time in which it still can be changed, but currently it doesn't.)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .