PRAGMA foreign_keys=ON; BEGIN TRANSACTION; CREATE TABLE Online ( Username varchar(64) not null, RemoteHost varchar(64) not null, RemotePort smallint unsigned not null, Stamp timestamp); CREATE TABLE Topics ( id integer not null primary key, Retain char not null, Topic varchar(255) not null, Value text, PubUser varchar(64) not null, PubDate datetime not null, PubHost varchar(64) not null, Stamp timestamp); CREATE INDEX RemoteHost on Online (RemoteHost); CREATE INDEX Username on Online (Username); CREATE UNIQUE INDEX User on Online (Username, RemoteHost); CREATE INDEX PubDate on Topics (PubDate); CREATE INDEX PubHost on Topics (PubHost); CREATE INDEX PubUser on Topics (PubUser); CREATE INDEX Topic on Topics (Topic); CREATE TRIGGER Online_update_t AFTER UPDATE ON Online BEGIN UPDATE Online SET Stamp = strftime("%s", "now") WHERE Username = old.Username; END; CREATE TRIGGER Online_insert_t AFTER INSERT ON Online BEGIN UPDATE Online SET Stamp = strftime("%s", "now") WHERE Username = new.Username; END; CREATE TRIGGER Topics_update_t AFTER UPDATE ON Topics BEGIN UPDATE Topics SET Stamp = strftime("%s", "now") WHERE id = old.id; END; CREATE TRIGGER Topics_insert_t AFTER INSERT ON Topics BEGIN UPDATE Topics SET Stamp = strftime("%s", "now") WHERE id = new.id; END; COMMIT;