]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Database changes for file tables
authorEvan Prodromou <evan@controlyourself.ca>
Mon, 22 Jun 2009 21:19:41 +0000 (14:19 -0700)
committerEvan Prodromou <evan@controlyourself.ca>
Mon, 22 Jun 2009 21:19:41 +0000 (14:19 -0700)
Some minor database changes for file tables. Namely:

 * Added a timestamp to all tables
 * Added a filename column for local files
 * Change some tables that had unnecessary auto-increment primary
   keys when they had another unique column that should act as
   the primary key
 * Change engine from MyISAM to InnoDB for a couple of files.

Also, rebuilt the DB_DataObject files for all these tables.

classes/File.php
classes/File_oembed.php
classes/File_redirection.php
classes/File_thumbnail.php
classes/File_to_post.php
classes/laconica.ini
db/laconica.sql

index 890536035328ce68cc91daeb1d2ebb793b94fc0c..800041d5d2fccc17d5cc3f0b2a48f5928f9855cb 100644 (file)
@@ -36,13 +36,15 @@ class File extends Memcached_DataObject
     /* the code below is auto generated do not remove the above tag */
 
     public $__table = 'file';                            // table name
-    public $id;                              // int(11)  not_null primary_key group_by
+    public $id;                              // int(4)  primary_key not_null
     public $url;                             // varchar(255)  unique_key
     public $mimetype;                        // varchar(50)  
-    public $size;                            // int(11)  group_by
+    public $size;                            // int(4)  
     public $title;                           // varchar(255)  
-    public $date;                            // int(11)  group_by
-    public $protected;                       // int(1)  group_by
+    public $date;                            // int(4)  
+    public $protected;                       // int(4)  
+    public $filename;                        // varchar(255)  
+    public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
     /* Static get */
     function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File',$k,$v); }
index 2e8e851cd6d1a51314e50d403a8ffe8e2143a394..f9ca14e3cfe9f5a81d6b765c03cd259e81e42eb6 100644 (file)
@@ -31,19 +31,19 @@ class File_oembed extends Memcached_DataObject
     /* the code below is auto generated do not remove the above tag */
 
     public $__table = 'file_oembed';                     // table name
-    public $id;                              // int(11)  not_null primary_key group_by
-    public $file_id;                         // int(11)  unique_key group_by
+    public $file_id;                         // int(4)  primary_key not_null
     public $version;                         // varchar(20)  
     public $type;                            // varchar(20)  
     public $provider;                        // varchar(50)  
     public $provider_url;                    // varchar(255)  
-    public $width;                           // int(11)  group_by
-    public $height;                          // int(11)  group_by
-    public $html;                            // blob(65535)  blob
+    public $width;                           // int(4)  
+    public $height;                          // int(4)  
+    public $html;                            // text()  
     public $title;                           // varchar(255)  
     public $author_name;                     // varchar(50)  
     public $author_url;                      // varchar(255)  
     public $url;                             // varchar(255)  
+    public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
     /* Static get */
     function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_oembed',$k,$v); }
index 0d6e2a700422b92b1ea501b03e8357be09bdd7dc..13f02f8e5d54c738d20dc3f850276b856333e499 100644 (file)
@@ -36,11 +36,11 @@ class File_redirection extends Memcached_DataObject
     /* the code below is auto generated do not remove the above tag */
 
     public $__table = 'file_redirection';                // table name
-    public $id;                              // int(11)  not_null primary_key group_by
-    public $url;                             // varchar(255)  unique_key
-    public $file_id;                         // int(11)  group_by
-    public $redirections;                    // int(11)  group_by
-    public $httpcode;                        // int(11)  group_by
+    public $url;                             // varchar(255)  primary_key not_null
+    public $file_id;                         // int(4)  
+    public $redirections;                    // int(4)  
+    public $httpcode;                        // int(4)  
+    public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
     /* Static get */
     function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_redirection',$k,$v); }
index 2908549da610fab31c94840dfd977860277431b1..40d85b2583e4cb58d4ef1fdaf6bd0ac2a5f17282 100644 (file)
@@ -31,11 +31,11 @@ class File_thumbnail extends Memcached_DataObject
     /* the code below is auto generated do not remove the above tag */
 
     public $__table = 'file_thumbnail';                  // table name
-    public $id;                              // int(11)  not_null primary_key group_by
-    public $file_id;                         // int(11)  unique_key group_by
+    public $file_id;                         // int(4)  primary_key not_null
     public $url;                             // varchar(255)  unique_key
-    public $width;                           // int(11)  group_by
-    public $height;                          // int(11)  group_by
+    public $width;                           // int(4)  
+    public $height;                          // int(4)  
+    public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
     /* Static get */
     function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_thumbnail',$k,$v); }
index 9362faaaed8977986abd3174d284dd7d13ac094f..bb5f4e6e4b8f5fa31c161fe5d064d05cd548b224 100644 (file)
@@ -31,9 +31,9 @@ class File_to_post extends Memcached_DataObject
     /* the code below is auto generated do not remove the above tag */
 
     public $__table = 'file_to_post';                    // table name
-    public $id;                              // int(11)  not_null primary_key group_by
-    public $file_id;                         // int(11)  multiple_key group_by
-    public $post_id;                         // int(11)  group_by
+    public $file_id;                         // int(4)  primary_key not_null
+    public $post_id;                         // int(4)  primary_key not_null
+    public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
     /* Static get */
     function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('File_to_post',$k,$v); }
index 5ced158851023e69f0c278675eeae60b474f18c1..7e9b2b791dc53674f2c1c375a26061f42093c216 100755 (executable)
@@ -68,13 +68,14 @@ size = 1
 title = 2
 date = 1
 protected = 1
+filename = 2
+modified = 384
 
 [file__keys]
 id = N
 
 [file_oembed]
-id = 129
-file_id = 1
+file_id = 129
 version = 2
 type = 2
 provider = 2
@@ -86,37 +87,40 @@ title = 2
 author_name = 2
 author_url = 2
 url = 2
+modified = 384
 
 [file_oembed__keys]
-id = N
+file_id = K
 
 [file_redirection]
-id = 129
-url = 2
+url = 130
 file_id = 1
 redirections = 1
 httpcode = 1
+modified = 384
 
 [file_redirection__keys]
-id = N
+url = K
 
 [file_thumbnail]
-id = 129
-file_id = 1
+file_id = 129
 url = 2
 width = 1
 height = 1
+modified = 384
 
 [file_thumbnail__keys]
-id = N
+file_id = K
+url = U
 
 [file_to_post]
-id = 129
-file_id = 1
-post_id = 1
+file_id = 129
+post_id = 129
+modified = 384
 
 [file_to_post__keys]
-id = N
+file_id = K
+post_id = K
 
 [foreign_link]
 user_id = 129
index 8d1d47d38d35c14d2d9d45b46f5410645cbc452b..95796d5cc60692ee55f4e22ff7b52bf15870cb17 100644 (file)
@@ -431,6 +431,7 @@ create table group_inbox (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table file (
+
     id integer primary key auto_increment,
     url varchar(255) comment 'destination URL after following redirections',
     mimetype varchar(50) comment 'mime type of resource',
@@ -438,13 +439,15 @@ create table file (
     title varchar(255) comment 'title of resource when available',
     date integer(11) comment 'date of resource according to http query',
     protected integer(1) comment 'true when URL is private (needs login)',
+    filename varchar(255) comment 'if a local file, name of the file',
+
+    modified timestamp comment 'date this record was modified',
 
     unique(url)
-) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 create table file_oembed (
-    id integer primary key auto_increment,
-    file_id integer comment 'oEmbed for that URL/file' references file (id),
+    file_id integer primary key comment 'oEmbed for that URL/file' references file (id),
     version varchar(20) comment 'oEmbed spec. version',
     type varchar(20) comment 'oEmbed type: photo, video, link, rich',
     provider varchar(50) comment 'name of this oEmbed provider',
@@ -456,37 +459,39 @@ create table file_oembed (
     author_name varchar(50) comment 'author name for this oEmbed resource',
     author_url varchar(255) comment 'author URL for this oEmbed resource',
     url varchar(255) comment 'URL for this oEmbed resource when applicable (photo, link)',
+    modified timestamp comment 'date this record was modified'
 
-    unique(file_id)
-) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 create table file_redirection (
-    id integer primary key auto_increment,
-    url varchar(255) comment 'short URL (or any other kind of redirect) for file (id)',
+
+    url varchar(255) primary key comment 'short URL (or any other kind of redirect) for file (id)',
     file_id integer comment 'short URL for what URL/file' references file (id),
     redirections integer comment 'redirect count',
     httpcode integer comment 'HTTP status code (20x, 30x, etc.)',
+    modified timestamp comment 'date this record was modified'
 
-    unique(url)
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table file_thumbnail (
-    id integer primary key auto_increment,
-    file_id integer comment 'thumbnail for what URL/file' references file (id),
+
+    file_id integer primary key comment 'thumbnail for what URL/file' references file (id),
     url varchar(255) comment 'URL of thumbnail',
     width integer comment 'width of thumbnail',
     height integer comment 'height of thumbnail',
+    modified timestamp comment 'date this record was modified',
 
-    unique(file_id),
     unique(url)
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table file_to_post (
-    id integer primary key auto_increment,
+
     file_id integer comment 'id of URL/file' references file (id),
     post_id integer comment 'id of the notice it belongs to' references notice (id),
+    modified timestamp comment 'date this record was modified',
+
+    constraint primary key (file_id, post_id)
 
-    unique(file_id, post_id)
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table design (