More sequence tweaks

This commit is contained in:
Neil Alexander 2021-04-21 10:23:04 +01:00
parent 121f197625
commit 92ea4e5a80
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -66,16 +66,9 @@ func UpStateBlocksRefactor(tx *sql.Tx) error {
return fmt.Errorf("tx.Exec: %w", err)
}
_, err := tx.Exec(`
DROP SEQUENCE IF EXISTS roomserver_state_block_nid_seq;
DROP SEQUENCE IF EXISTS roomserver_state_snapshot_nid_seq;
`)
if err != nil {
return fmt.Errorf("tx.Exec (drop sequences): %w", err)
}
_, err = tx.Exec(`
CREATE SEQUENCE roomserver_state_block_nid_seq START WITH $1;
CREATE SEQUENCE roomserver_state_block_nid_sequence START WITH $1;
CREATE TABLE IF NOT EXISTS roomserver_state_block (
state_block_nid bigint PRIMARY KEY DEFAULT nextval('roomserver_state_block_nid_seq'),
state_block_nid bigint PRIMARY KEY DEFAULT nextval('roomserver_state_block_nid_sequence'),
state_block_hash BYTEA UNIQUE,
event_nids bigint[] NOT NULL
);
@ -84,9 +77,9 @@ func UpStateBlocksRefactor(tx *sql.Tx) error {
return fmt.Errorf("tx.Exec (create blocks table): %w", err)
}
_, err = tx.Exec(`
CREATE SEQUENCE roomserver_state_snapshot_nid_seq START WITH $1;
CREATE SEQUENCE roomserver_state_snapshot_nid_sequence START WITH $1;
CREATE TABLE IF NOT EXISTS roomserver_state_snapshots (
state_snapshot_nid bigint PRIMARY KEY DEFAULT nextval('roomserver_state_snapshot_nid_seq'),
state_snapshot_nid bigint PRIMARY KEY DEFAULT nextval('roomserver_state_snapshot_nid_sequence'),
state_snapshot_hash BYTEA UNIQUE,
room_nid bigint NOT NULL,
state_block_nids bigint[] NOT NULL
@ -199,10 +192,16 @@ func UpStateBlocksRefactor(tx *sql.Tx) error {
}
}
if _, err = tx.Exec(`DROP TABLE _roomserver_state_snapshots;`); err != nil {
if _, err = tx.Exec(`
DROP TABLE _roomserver_state_snapshots;
DROP SEQUENCE roomserver_state_snapshots_nid_seq;
`); err != nil {
return fmt.Errorf("tx.Exec (delete old snapshot table): %w", err)
}
if _, err = tx.Exec(`DROP TABLE _roomserver_state_block;`); err != nil {
if _, err = tx.Exec(`
DROP TABLE _roomserver_state_block;
DROP SEQUENCE roomserver_state_block_nid_seq;
`); err != nil {
return fmt.Errorf("tx.Exec (delete old block table): %w", err)
}