*Restore oldimage schema changes removed temporarily in r21957 (with some index modif...
authorAaron Schulz <aaron@users.mediawiki.org>
Thu, 31 May 2007 15:26:15 +0000 (15:26 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Thu, 31 May 2007 15:26:15 +0000 (15:26 +0000)
maintenance/archives/patch-oi_metadata.sql [new file with mode: 0644]
maintenance/ora/tables.sql
maintenance/postgres/tables.sql
maintenance/tables.sql

diff --git a/maintenance/archives/patch-oi_metadata.sql b/maintenance/archives/patch-oi_metadata.sql
new file mode 100644 (file)
index 0000000..4a5b362
--- /dev/null
@@ -0,0 +1,16 @@
+-- \r
+-- patch-indexes.sql\r
+-- \r
+-- Add data to allow for direct reference to old images\r
+-- They can be included into pages\r
+-- \r
+\r
+ALTER TABLE /*$wgDBprefix*/oldimage\r
+   DROP INDEX oi_name,\r
+   ADD INDEX oi_name_timestamp (oi_name,oi_timestamp),\r
+   ADD INDEX oi_name_archive_name (oi_name,oi_archive_name),\r
+   ADD oi_metadata mediumblob NOT NULL,\r
+   ADD oi_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL,\r
+   ADD oi_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart") NOT NULL default "unknown",\r
+   ADD oi_minor_mime varchar(32) NOT NULL default "unknown",\r
+   ADD oi_deleted tinyint(1) unsigned NOT NULL default '0',
\ No newline at end of file
index 7b8dc80..6d4b8ed 100644 (file)
@@ -244,9 +244,15 @@ CREATE TABLE oldimage (
   oi_description   CLOB,
   oi_user          INTEGER          NULL  REFERENCES mwuser(user_id) ON DELETE SET NULL,
   oi_user_text     CLOB         NOT NULL,
-  oi_timestamp     TIMESTAMP WITH TIME ZONE  NOT NULL
-);
-CREATE INDEX oi_name ON oldimage (oi_name);
+  oi_timestamp     TIMESTAMP WITH TIME ZONE  NOT NULL,
+  oi_metadata      CLOB,        
+  oi_media_type    VARCHAR(10) DEFAULT NULL,
+  oi_major_mime    VARCHAR(11) DEFAULT 'unknown',
+  oi_minor_mime    VARCHAR(32) DEFAULT 'unknown',
+  oi_deleted       INTEGER DEFAULT 0 NOT NULL
+);
+CREATE INDEX oi_name_timestamp ON oldimage (oi_name,oi_timestamp);
+CREATE INDEX oi_name_archive_name ON oldimage (oi_name,oi_archive_name);
 
 CREATE SEQUENCE filearchive_fa_id_seq;
 CREATE TABLE filearchive (
index 1c7c42d..8bcf3a5 100644 (file)
@@ -262,9 +262,15 @@ CREATE TABLE oldimage (
   oi_description   TEXT,
   oi_user          INTEGER          NULL  REFERENCES mwuser(user_id) ON DELETE SET NULL,
   oi_user_text     TEXT         NOT NULL,
-  oi_timestamp     TIMESTAMPTZ  NOT NULL
-);
-CREATE INDEX oi_name ON oldimage (oi_name);
+  oi_timestamp     TIMESTAMPTZ  NOT NULL,
+  oi_metadata      BYTEA        NOT NULL,       
+  oi_media_type    TEXT             NULL,       
+  oi_major_mime    TEXT         NOT NULL DEFAULT 'unknown',     
+  oi_minor_mime    TEXT         NOT NULL DEFAULT 'unknown',     
+  oi_deleted       CHAR         NOT NULL DEFAULT '0'
+);
+CREATE INDEX oi_name_timestamp ON oldimage (oi_name,oi_timestamp);
+CREATE INDEX oi_name_archive_name ON oldimage (oi_name,oi_archive_name);
 
 
 CREATE TABLE filearchive (
index 2e50070..5818543 100644 (file)
@@ -716,7 +716,14 @@ CREATE TABLE /*$wgDBprefix*/oldimage (
   oi_user_text varchar(255) binary NOT NULL,
   oi_timestamp char(14) binary NOT NULL default '',
 
-  INDEX oi_name (oi_name(10))
+  oi_metadata mediumblob NOT NULL,
+  oi_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL,
+  oi_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart") NOT NULL default "unknown",
+  oi_minor_mime varchar(32) NOT NULL default "unknown",
+  oi_deleted tinyint(1) unsigned NOT NULL default '0',
+  
+  INDEX oi_name_timestamp (oi_name,oi_timestamp),
+  INDEX oi_name_archive_name (oi_name,oi_archive_name)
 
 ) /*$wgDBTableOptions*/;