first commit

This commit is contained in:
2025-04-24 13:11:28 +08:00
commit ff9c54d5e4
5960 changed files with 834111 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
UPDATE blobs
SET global = TRUE
WHERE hash_bytes IN (SELECT hash_bytes FROM global_blob_hashes);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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`.

View File

@@ -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;