Deleted headers and read messages
Purging deleted headers
By default deleted headers are not really deleted - they are hidden and can be
reshown and undeleted. But there is an option to purge deleted headers, so their records
will be removed from the database storage.
So, when purging is disabled - headers only marked as deleted but the full record will
stay and take place in the database. When purging is enabled and deleted headers are purged -
still minimal information about deleted headers must be kept to prevent their reentry as
usual headers (only unique message-id), so they will be recognized as deleted but in this
case they take on average 5-10 times less space than average full record.
If headers have not been purged manually - they will be purged on reopening newsgroups (it
is just faster than to do it on closing), so while newsgroup remains active (open or downloading
headers) - it is possible to unhide latest deleted headers and undelete them.
Purged headers (minimal info about them) are kept for user-defined number of days
(see properties->general->deleted/read, track after leaving groups). There is a minimum forced
value for the field since e.g. setting it to zero would cause reentry previously purged headers
as undeleted on the next downloading headers. The message-ids can be found in the file named
del.dat.
Purging deleted headers can be enabled/disabled in properties->newsgroups, default entry for
all newsgroups or corresponding entries for specific newsgroups (look at the end of the topic for
more detailed info with screenshots of location of all related options).
In the following discussion the difference between an operation when purging is enabled
or disabled will be always mentioned.
When headers are deleted
Headers that filtered out with kill filters enter the database as deleted
headers if purging is disabled for respective newsgroups, otherwise they will enter
del.dat.
When a parent in a thread is deleted - all its children are deleted and all its
incoming children will be treated as deleted. If a deleted header leaves the
database - its message-id is kept for the user-defined number of days mentioned above,
so upon its reappearance it will enter the database as deleted; it also allows to
track its children.
Using the same technique headers marked as read are kept for the user-defined
number of days after they has left the database, so after reappearing they
still remain marked as read.
Message-ids of deleted and read messages will be deleted from the economical message-id
storage (del.dat) after passing the user-defined number of days since their leaving the
database and not reappearing the flow of incoming headers (when a header with message-id
reappears its timer is reset, so starting count of user-defined number of days starts afresh).
Undeleting headers
While purging is disabled headers are never really deleted - they are just marked
as deleted and not shown in newsgroup views. Here a parent in a thread is deleted:
It is what we get:
Now we pressed the restore delete headers button - we can see that
the children had been deleted automatically. Also the button remained
in the pressed state:
Now we are going to undelete the parent and all its children:
That is what we get:
Finally we'll hide deleted headers by pressing again the restore
deleted headers button:
Undeleting purged deleted headers
Full records of purged deleted cannot be found in the database. So what is needed to
make them enter the database again.
First, purging deleted should be disabled in properties->newsgroups for newsgroups in
question.
Second, 'rescan headers' (not just 'get new headers') should be invoked. It can be from file menu->rescan headers,
newsgroup context menu->advanced->rescan headers or from the docking window, newsgroup pane, context menu, in the last
case for several newsgroups in one click.
After rescan is complete - the procedure described above in 'Undeleting headers' should be followed.
Options related to deleting headers
1. The user-defined number of days described above (how long to keep
info about deleted headers and read messages after leaving the database) -
deleted/read - track after leaving groups for x days.
2. Delete bodies when deleting headers - headers only marked as deleted
deleted - bodies can still be kept.
3. Saving attachments -> Delete headers - headers will be deleted after
successful save attachments.
Here is properties->newsgroups. Here purging is disabled for all newsgroups
(default entry) but it is enabled for a specific newsgroup (alt.binaries.sounds.music.classical).
Here how purging deleted headers can be invoked manually (also there is an entry in the edit menu).