[drupal-devel] [feature] Sort logs by ID instead of timestamp

Steven drupal-devel at drupal.org
Wed May 25 03:53:07 UTC 2005


Issue status update for http://drupal.org/node/23560

 Project:      Drupal
 Version:      cvs
 Component:    watchdog.module
 Category:     feature requests
 Priority:     normal
 Assigned to:  Anonymous
 Reported by:  njivy
 Updated by:   Steven
 Status:       patch

Do auto_increment id's never go back to fill in deleted rows? We need to
make sure on pgsql and mysql.


Another option might be to sort by timestamp first, then by wid. I'm
not sure if the current tablesort supports that though.




Steven



Previous comments:
------------------------------------------------------------------------

May 25, 2005 - 03:59 : njivy

In watchdog.module I propose changing the key used to sort logs
chronologically.  Instead of using the timestamp, which is accurate
only to the nearest second, we could use the log entry id ("wid" in the
database).  As I understand it, the IDs are assigned sequentially, so
this is a good approximation to the correct order in which the events
are recorded.  Also, I don't know of any events that are recorded after
a delay.


The problem with the current sorting key arises when logged events come
within 1 second of each other.  The order of events is not always
preserved when viewing the log because the timestamp is identical for
several events.


In "modules/watchdog.module" neard line 91, the word "timestamp" is
replaced with "wid":
$header = array(
    ' ',
    array('data' => t('Type'), 'field' => 'w.type'),
    array('data' => t('Date'), 'field' => 'w.wid', 'sort' =>
'desc'),
    array('data' => t('Message'), 'field' => 'w.message'),
    array('data' => t('User'), 'field' => 'u.name'),
    array('data' => t('Operations'), 'colspan' => '2')
  );


Preliminary testing suggests this is a good tweak.







More information about the drupal-devel mailing list