first commit
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
||||
UPDATE blobs
|
||||
SET global = TRUE
|
||||
WHERE hash_bytes IN (SELECT hash_bytes FROM global_blob_hashes);
|
||||
@@ -0,0 +1,16 @@
|
||||
CREATE TABLE global_blobs (
|
||||
hash_bytes bytea NOT NULL,
|
||||
byte_length integer NOT NULL,
|
||||
string_length integer,
|
||||
global boolean,
|
||||
CONSTRAINT global_blobs_pkey PRIMARY KEY (hash_bytes),
|
||||
CONSTRAINT global_blobs_byte_length_non_negative
|
||||
CHECK (byte_length >= 0),
|
||||
CONSTRAINT global_blobs_string_length_non_negative
|
||||
CHECK (string_length IS NULL OR string_length >= 0)
|
||||
);
|
||||
|
||||
INSERT INTO global_blobs (hash_bytes, byte_length, string_length, global)
|
||||
SELECT hash_bytes, byte_length, string_length, true
|
||||
FROM blobs
|
||||
WHERE hash_bytes IN (SELECT hash_bytes FROM global_blob_hashes);
|
||||
@@ -0,0 +1,22 @@
|
||||
BEGIN;
|
||||
ALTER TABLE blobs RENAME TO old_blobs;
|
||||
ALTER TABLE global_blobs RENAME TO blobs;
|
||||
|
||||
ALTER TABLE old_blobs
|
||||
RENAME CONSTRAINT blobs_pkey TO old_blobs_pkey;
|
||||
ALTER TABLE old_blobs
|
||||
RENAME CONSTRAINT blobs_byte_length_non_negative
|
||||
TO old_blobs_byte_length_non_negative;
|
||||
ALTER TABLE old_blobs
|
||||
RENAME CONSTRAINT blobs_string_length_non_negative
|
||||
TO old_blobs_string_length_non_negative;
|
||||
|
||||
ALTER TABLE blobs
|
||||
RENAME CONSTRAINT global_blobs_pkey TO blobs_pkey;
|
||||
ALTER TABLE blobs
|
||||
RENAME CONSTRAINT global_blobs_byte_length_non_negative
|
||||
TO blobs_byte_length_non_negative;
|
||||
ALTER TABLE blobs
|
||||
RENAME CONSTRAINT global_blobs_string_length_non_negative
|
||||
TO blobs_string_length_non_negative;
|
||||
COMMIT;
|
||||
@@ -0,0 +1,9 @@
|
||||
Scripts in this directory were used when we cleaned up the global blobs table,
|
||||
ensuring that it only contained global blobs. The scripts are meant to be run in this order:
|
||||
|
||||
* `01-create-blob-hashes-table.sql`
|
||||
* `02-set-global-flag.sql`
|
||||
* `03-create-global-blobs-table.sql`
|
||||
* `04-swap-global-blob-tables.sql`
|
||||
|
||||
The `rollback.sql` can be run to reverse the effect of `03-swap-global-blob-tables.sql`.
|
||||
@@ -0,0 +1,22 @@
|
||||
BEGIN;
|
||||
ALTER TABLE blobs RENAME TO global_blobs;
|
||||
ALTER TABLE old_blobs RENAME TO blobs;
|
||||
|
||||
ALTER TABLE global_blobs
|
||||
RENAME CONSTRAINT blobs_pkey TO global_blobs_pkey;
|
||||
ALTER TABLE global_blobs
|
||||
RENAME CONSTRAINT blobs_byte_length_non_negative
|
||||
TO global_blobs_byte_length_non_negative;
|
||||
ALTER TABLE global_blobs
|
||||
RENAME CONSTRAINT blobs_string_length_non_negative
|
||||
TO global_blobs_string_length_non_negative;
|
||||
|
||||
ALTER TABLE blobs
|
||||
RENAME CONSTRAINT old_blobs_pkey TO blobs_pkey;
|
||||
ALTER TABLE blobs
|
||||
RENAME CONSTRAINT old_blobs_byte_length_non_negative
|
||||
TO blobs_byte_length_non_negative;
|
||||
ALTER TABLE blobs
|
||||
RENAME CONSTRAINT old_blobs_string_length_non_negative
|
||||
TO blobs_string_length_non_negative;
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user