VBTT - Мод торрент трекера для vBulletin. Скачать движок трекера бесплатно (не tbdev и не torrentpier). Разработка vBulletin Torrent Tracker  
Вернуться   VBTT - Мод торрент трекера для vBulletin. Скачать движок трекера бесплатно (не tbdev и не torrentpier). Разработка vBulletin Torrent Tracker > Движок торрент трекера VBTT > VBTT v.2.0
VBTT.ORG > Движок торрент трекера VBTT > VBTT v.2.0 > Фикс для удаления дубликатов пасскеев.
Важная информация

 
 
Опции темы Опции просмотра
Старый 14.06.2009, 01:37   #1
Аватар для Skald
Skald Skald вне форума
Администратор
Фикс для удаления дубликатов пасскеев.

Т.к. с самого начала (еще с оригинального vbtt) тянется неприятный глюк в виде вероятности получения юзерами одинакового пасскея, то выкладываю запрос для обнуления таких дубликатов (потом можно запустить passkeygen.php для генерации пасскеев где их нет).
Код:
update (SELECT count(userid) as `dubl`, max(userid) as `maxid`, torrent_pass 
FROM `user` GROUP BY torrent_pass HAVING `dubl` >  '1' ORDER BY dubl DESC) as dubl 
LEFT join `user` on(dubl.maxid=user.userid) SET user.torrent_pass='';
Что конкретно делает запрос - он обнуляет только один пасскей пользователя с максимальным userid (т.е. тот кто позже зарегистрировался) из группы одинаковых пасскеев. Т.е. если у однин и тот же пасскей встречается более 2-х раз то придется запустить еще несколько раз (но обычно не более 3 - у меня при 150К пользователей максимальное количество дубликатов одного пасскея было 4)

P.S. Если Вы не понимаете зачем этот запрос - просто забудьте об этом сообщении - дубликат пасскея ошибка некритичная - все будет работать и с ними (правда с глюками)
Ответить с цитированием
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход