форум vBSupport.ru > vBSupport.ru > Гурушник > Кодер
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
kerk
k0t
 
kerk's Avatar
Default Удаление ЛС
0

Приветствую, господа (и дамы, разумеется) кодеры
тут навертелась некая задачка - удалять личные сообщения юзеров по определенным критериям
ну, это собсно не проблема, написал свой интерфейс + критерии в выпадалку...
пока рылся у воблы в файлах, нашел некие непонятки
при отметке из списка Лс и удалении, вобла удаляет их только из таблиц pm и pmreceipt
собирает pmid в массив и делает запрос на удаление только из этих двух таблиц
но почему то пропускает таблицу pmtext, а именно там и хранятся собственно текстовые сообщения
и даже на локалке, при удалении через воблоинтерфейс, не удаляются данные из этой таблицы (вобла на локалке 3.8.12, пхп 7.1)
соотв. за годы использования системы ЛС, в БД накопилось много мусора

в файле private.php из дистр. 3.8.4 (здесь на саппорте), все то же самое
это чей-то "злой умысел" или так и задумано разрабами?
когда сие начало происходить, мне неведомо, т.к. заинтересовался этим глюком вот недавно совсем
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
1

Quote:
Originally Posted by kerk View Post
но почему то пропускает таблицу pmtext
Таблица pmtext очищается крон-задачей cleanup.php. Сделано это в связи с тем, что когда используется массовая отправка ЛС (более, чем одному получателю), то запись с текстом ЛС в pmtext используется всеми получателями данного ЛС и удалять её можно только тогда, когда удалено последнее ЛС из рассылки.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

cleanup2.php
да, нашел, раньше не обращал внимания
вот только почему то есть большая разница в кол-ве pm и pmtext
реально большая разница...
кол-во в pm 2799
кол-во в pmtext 845
и это на локалке, где юзеров полторы калеки (400+) =)
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
0

Quote:
Originally Posted by kerk View Post
кол-во в pm 2799
кол-во в pmtext 845
Копии ЛС в отправленных тоже считаются. = )
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Quote:
Originally Posted by OldEr View Post
Копии ЛС в отправленных тоже считаются
ну это понятно...
и все равно, разница большая на локалке
представляю, что в реальном форуме, да с кучей активных юзеров
почему разрабы сделали удаление записей кроном, а не сразу, ведь pmid больше не доступен никак и нигде
вопрос риторический, есичё =)
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
0

Quote:
Originally Posted by kerk View Post
почему разрабы сделали удаление записей кроном, а не сразу, ведь pmid больше не доступен никак и нигде
вопрос риторический, есичё =)
Возможно из соображений оптимизации запросов и времени выполнения скрипта удаления ЛС, особенно в случаях, когда ЛС массово удаляются через интерфейс в кабинете. Или банально забыли, а потом запихнули в крон-задачу, так как это было проще. = )
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Quote:
Originally Posted by OldEr View Post
из соображений оптимизации запросов
да какая там оптимизация? =)
ID-шники собираются в кучку одним запросом из таблицы pm, где доступны так же и pmtextid
потом пачкой удаляются (не в циклах)
это три запроса, причем не самых нагружающих
в своем хаке массового удаления ЛС так и сделал собираю pmid и pmtextid в массив и затем из трех таблиц грохаю, крону меньше работы, там и так своих задач хватает...
Quote:
Originally Posted by OldEr View Post
Или банально забыли
а вот это более похоже на правду
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 01:25 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...