patch-actor-table.sql 1008 B

12345678910111213141516171819202122232425
  1. --
  2. -- patch-actor-table.sql
  3. --
  4. -- T167246. Add an `actor` table and various columns (and temporary tables) to reference it.
  5. CREATE SEQUENCE actor_actor_id_seq;
  6. CREATE TABLE actor (
  7. actor_id INTEGER NOT NULL PRIMARY KEY DEFAULT nextval('actor_actor_id_seq'),
  8. actor_user INTEGER,
  9. actor_name TEXT NOT NULL
  10. );
  11. CREATE UNIQUE INDEX actor_user ON actor (actor_user);
  12. CREATE UNIQUE INDEX actor_name ON actor (actor_name);
  13. CREATE TABLE revision_actor_temp (
  14. revactor_rev INTEGER NOT NULL,
  15. revactor_actor INTEGER NOT NULL,
  16. revactor_timestamp TIMESTAMPTZ NOT NULL,
  17. revactor_page INTEGER NULL REFERENCES page (page_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
  18. PRIMARY KEY (revactor_rev, revactor_actor)
  19. );
  20. CREATE UNIQUE INDEX revactor_rev ON revision_actor_temp (revactor_rev);
  21. CREATE INDEX rev_actor_timestamp ON revision_actor_temp (revactor_actor,revactor_timestamp);
  22. CREATE INDEX rev_page_actor_timestamp ON revision_actor_temp (revactor_page,revactor_actor,revactor_timestamp);