r2607 ensure that filenames are unique (closes: 196)
authorAaron Dummer <aaron@dummer.info>
Sun, 5 Apr 2009 18:43:43 +0000 (18:43 +0000)
committerAaron Dummer <aaron@dummer.info>
Sun, 5 Apr 2009 18:43:43 +0000 (18:43 +0000)
inc/database.php
install/init-structure.sql
upgrade.php

index 11e9fad..90d12ad 100644 (file)
@@ -3722,6 +3722,8 @@ function commitAddFile ($name, $type, $size, $contents, $comment)
 
        if ($result)
                return '';
+       elseif ($query->errorCode = 23000)
+               return "commitAddFile: File named '${name}' already exists";
        else
                return 'commitAddFile: SQL query failed';
 }
index 7cf9c20..4c776c9 100644 (file)
@@ -69,7 +69,8 @@ CREATE TABLE `File` (
   `atime` datetime NOT NULL,
   `contents` longblob NOT NULL,
   `comment` text,
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
 ) ENGINE=InnoDB;
 
 CREATE TABLE `FileLink` (
index 716271e..f24a97b 100644 (file)
@@ -127,7 +127,8 @@ CREATE TABLE `File` (
   `atime` datetime NOT NULL,
   `contents` longblob NOT NULL,
   `comment` text,
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
 ) ENGINE=InnoDB";
                        $query[] = "
 CREATE TABLE `FileLink` (