Annotation of mqtt/etc/mqtt_pub.sql, revision 1.1.2.6

1.1.2.1   misho       1: PRAGMA foreign_keys=ON;
                      2: BEGIN TRANSACTION;
1.1.2.6 ! misho       3: CREATE TABLE IF NOT EXISTS Online (
1.1.2.1   misho       4: Username varchar(64) not null,
                      5: RemoteHost varchar(64) not null,
1.1.2.3   misho       6: RemotePort smallint unsigned not null,
1.1.2.1   misho       7: Stamp timestamp);
1.1.2.6 ! misho       8: CREATE TABLE IF NOT EXISTS Topics (
1.1.2.1   misho       9: id integer not null primary key,
1.1.2.2   misho      10: Retain char not null,
1.1.2.1   misho      11: Topic varchar(255) not null,
                     12: Value text,
                     13: PubUser varchar(64) not null,
                     14: PubDate datetime not null,
                     15: PubHost varchar(64) not null,
                     16: Stamp timestamp);
1.1.2.6 ! misho      17: CREATE INDEX IF NOT EXISTS RemoteHost on Online (RemoteHost);
        !            18: CREATE INDEX IF NOT EXISTS Username on Online (Username);
        !            19: CREATE UNIQUE INDEX IF NOT EXISTS User on Online (Username, RemoteHost);
        !            20: CREATE INDEX IF NOT EXISTS PubDate on Topics (PubDate);
        !            21: CREATE INDEX IF NOT EXISTS PubHost on Topics (PubHost);
        !            22: CREATE INDEX IF NOT EXISTS PubUser on Topics (PubUser);
        !            23: CREATE INDEX IF NOT EXISTS Topic on Topics (Topic);
        !            24: CREATE TRIGGER IF NOT EXISTS Online_update_t AFTER UPDATE ON Online
1.1.2.5   misho      25: BEGIN
                     26:        UPDATE Online SET Stamp = strftime("%s", "now") WHERE Username = old.Username;
                     27: END;
1.1.2.6 ! misho      28: CREATE TRIGGER IF NOT EXISTS Online_insert_t AFTER INSERT ON Online
1.1.2.5   misho      29: BEGIN
                     30:        UPDATE Online SET Stamp = strftime("%s", "now") WHERE Username = new.Username;
                     31: END;
1.1.2.6 ! misho      32: CREATE TRIGGER IF NOT EXISTS Topics_update_t AFTER UPDATE ON Topics
1.1.2.5   misho      33: BEGIN
                     34:        UPDATE Topics SET Stamp = strftime("%s", "now") WHERE id = old.id;
                     35: END;
1.1.2.6 ! misho      36: CREATE TRIGGER IF NOT EXISTS Topics_insert_t AFTER INSERT ON Topics
1.1.2.5   misho      37: BEGIN
                     38:        UPDATE Topics SET Stamp = strftime("%s", "now") WHERE id = new.id;
                     39: END;
1.1.2.1   misho      40: COMMIT;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>