deferred expiry

[prev] [thread] [next] [lurker] [Date index for 2003/09/09]

From: Richard Clamp
Subject: deferred expiry
Date: 17:27 on 09 Sep 2003
Okay, so I was trying to do a bad thing, and solve people with
technology[0], unfortunately I found a limit to the technology sooner
that I would have wished.

Currently a deferred message looks like this:

CREATE TABLE deferred (
        id              INTEGER PRIMARY KEY auto_increment,
        expires         INTEGER,        # epoch time at which it's considered dead
        who             INTEGER NOT NULL,        # who can release it
        why             VARCHAR(255),   # just a comment?
        plugins         VARCHAR(255),   # this could become too small,
                                        # in the case of extreme installs
        message         TEXT
        ,FOREIGN KEY (who) REFERENCES member(id)
) TYPE=INNODB;


Now it's expired that I'm looking to abuse.  I guess the implied thing
for the column to mean is "kill this message after this time", but I
could do with a way of saying "resume after this time" too.

This smells like a small schema change, just throw in a column for
expiry_action with values like resume, delete, cook dinner.

Of course, it being a schema change at all is mildly annoying, but
while we're fixing it, we should set up proper cascading delete and
fix this too:

        plugins         VARCHAR(255),   # this could become too small,
                                        # in the case of extreme installs

So, that sound sane?

[0] http://unixbeard.net/svn/richardc/perl/Siesta-Plugin-DelayedResponse/lib/Siesta/Plugin/DelayedResponse.pm

-- 
Richard Clamp <richardc@xxxxxxxxx.xxx>

Generated at 13:56 on 01 Jul 2004 by mariachi 0.52