 COMMENT ON COLUMN link_review.recall_time IS 'Recall time is the amount of time (in milliseconds) taken to recall (or not) the destination of a link. It could be measured as the time between when the page is displayed and when the destination lexeme is shown (using JavaScript).';
 
 CREATE TABLE link_sm2 (
-       member_no INTEGER REFERENCES member (member_no) NOT NULL ON UPDATE CASCADE,
-       link_no INTEGER REFERENCES link (link_no) NOT NULL ON UPDATE CASCADE,
+       member_no INTEGER REFERENCES member (member_no) ON UPDATE CASCADE NOT NULL,
+       link_no INTEGER REFERENCES link (link_no) ON UPDATE CASCADE NOT NULL,
        n SMALLINT NOT NULL DEFAULT 1,
        EF REAL NOT NULL DEFAULT 2.5,
        PRIMARY KEY (member_no, link_no)


CREATE TABLE article (
       filename TEXT PRIMARY KEY,
       author INTEGER REFERENCES member (member_no) NOT NULL ON UPDATE CASCADE,
       publish_time TIMESTAMP (0) WITH TIME ZONE NOT NULL,
       update_time TIMESTAMP (0) WITH TIME ZONE NOT NULL,
       section TEXT,

COMMENT ON COLUMN link_to_review.target_time IS 'Target is the date and time at which this link should come up for review. The link will be reviewed sometime after that. All new links for review are currently scheduled for immediate review.';

CREATE TABLE link_review (
       member_no INTEGER REFERENCES member (member_no) ON UPDATE CASCADE NOT NULL,
       link_no INTEGER REFERENCES link (link_no) ON UPDATE CASCADE NOT NULL,
       target_time TIMESTAMP (0) WITH TIME ZONE NOT NULL,
       actual_time TIMESTAMP (0) WITH TIME ZONE NOT NULL DEFAULT current_timestamp,
       recall_grade REAL NOT NULL,
