16 lines
741 B
SQL
16 lines
741 B
SQL
CREATE TABLE annotation_events (
|
|
id INTEGER PRIMARY KEY,
|
|
request_id TEXT NOT NULL UNIQUE,
|
|
paper_id INTEGER NOT NULL REFERENCES papers(id),
|
|
original_paper_id INTEGER NOT NULL,
|
|
kind TEXT NOT NULL CHECK(kind IN ('tag','research_type')),
|
|
namespace TEXT NOT NULL, value TEXT NOT NULL,
|
|
source_record_id INTEGER REFERENCES source_records(id),
|
|
evidence_key TEXT NOT NULL, evidence_url TEXT,
|
|
reason TEXT NOT NULL, actor TEXT NOT NULL, observed_at TEXT NOT NULL,
|
|
retracts_id INTEGER UNIQUE REFERENCES annotation_events(id),
|
|
CHECK(retracts_id IS NULL OR retracts_id<>id)
|
|
);
|
|
CREATE INDEX annotation_events_paper ON annotation_events(paper_id,kind,id);
|
|
CREATE INDEX annotation_events_label ON annotation_events(kind,namespace,value,paper_id);
|