aboutsummaryrefslogtreecommitdiffstats
path: root/sql/postgres/patch-file.sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql/postgres/patch-file.sql')
-rw-r--r--sql/postgres/patch-file.sql54
1 files changed, 54 insertions, 0 deletions
diff --git a/sql/postgres/patch-file.sql b/sql/postgres/patch-file.sql
new file mode 100644
index 000000000000..332cc8df49e3
--- /dev/null
+++ b/sql/postgres/patch-file.sql
@@ -0,0 +1,54 @@
+
+CREATE TABLE file (
+ file_id BIGSERIAL NOT NULL,
+ file_name TEXT NOT NULL,
+ file_latest BIGINT NOT NULL,
+ file_type SMALLINT NOT NULL,
+ file_deleted SMALLINT NOT NULL,
+ PRIMARY KEY(file_id)
+);
+
+CREATE UNIQUE INDEX file_name ON file (file_name);
+
+CREATE INDEX file_latest ON file (file_latest);
+
+
+CREATE TABLE filerevision (
+ fr_id BIGSERIAL NOT NULL,
+ fr_file BIGINT NOT NULL,
+ fr_size BIGINT DEFAULT 0 NOT NULL,
+ fr_width INT DEFAULT 0 NOT NULL,
+ fr_height INT DEFAULT 0 NOT NULL,
+ fr_metadata TEXT NOT NULL,
+ fr_bits INT DEFAULT 0 NOT NULL,
+ fr_description_id BIGINT NOT NULL,
+ fr_actor BIGINT NOT NULL,
+ fr_timestamp TIMESTAMPTZ NOT NULL,
+ fr_sha1 TEXT DEFAULT '' NOT NULL,
+ fr_archive_name TEXT DEFAULT '' NOT NULL,
+ fr_deleted SMALLINT NOT NULL,
+ PRIMARY KEY(fr_id)
+);
+
+CREATE INDEX fr_actor_timestamp ON filerevision (fr_actor, fr_timestamp);
+
+CREATE INDEX fr_size ON filerevision (fr_size);
+
+CREATE INDEX fr_timestamp ON filerevision (fr_timestamp);
+
+CREATE INDEX fr_sha1 ON filerevision (fr_sha1);
+
+CREATE INDEX fr_file ON filerevision (fr_file);
+
+
+CREATE TABLE filetypes (
+ ft_id SMALLSERIAL NOT NULL,
+ ft_media_type TEXT NOT NULL,
+ ft_major_mime TEXT NOT NULL,
+ ft_minor_mime TEXT NOT NULL,
+ PRIMARY KEY(ft_id)
+);
+
+CREATE UNIQUE INDEX ft_media_mime ON filetypes (
+ ft_media_type, ft_major_mime, ft_minor_mime
+);