From 1faeb677ebcad9c2ef05a8c31e920ecd4627f604 Mon Sep 17 00:00:00 2001 From: drewish Date: Sat, 21 Apr 2012 12:59:05 -0700 Subject: [PATCH] [#966210] DB Case Sensitivity: system_update_7061() fails on inserting files with same name but different case --- modules/simpletest/tests/file.test | 13 +++++++++++++ modules/system/system.install | 2 ++ 2 files changed, 15 insertions(+), 0 deletions(-) diff --git a/modules/simpletest/tests/file.test b/modules/simpletest/tests/file.test index 4c56bfc..3df31ba 100644 --- a/modules/simpletest/tests/file.test +++ b/modules/simpletest/tests/file.test @@ -2026,6 +2026,19 @@ class FileSaveTest extends FileHookTestCase { $loaded_file = db_query('SELECT * FROM {file_managed} f WHERE f.fid = :fid', array(':fid' => $saved_file->fid))->fetch(PDO::FETCH_OBJ); $this->assertNotNull($loaded_file, t("Record still exists in the database."), 'File'); $this->assertEqual($loaded_file->status, $saved_file->status, t("Status was saved correctly.")); + + // Try to insert a second file with the same name apart from case insensitivity + // to ensure the 'uri' index allows for filenames with different cases. + $file = (object) array( + 'uid' => 1, + 'filename' => 'DRUPLICON.txt', + 'uri' => 'public://DRUPLICON.txt', + 'filemime' => 'text/plain', + 'timestamp' => 1, + 'status' => FILE_STATUS_PERMANENT, + ); + file_put_contents($file->uri, 'hello world'); + file_save($file); } } diff --git a/modules/system/system.install b/modules/system/system.install index 0b4e1fa..6481c55 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -810,6 +810,7 @@ function system_schema() { 'length' => 255, 'not null' => TRUE, 'default' => '', + 'binary' => TRUE, ), 'uri' => array( 'description' => 'The URI to access the file (either local or remote).', @@ -817,6 +818,7 @@ function system_schema() { 'length' => 255, 'not null' => TRUE, 'default' => '', + 'binary' => TRUE, ), 'filemime' => array( 'description' => "The file's MIME type.", -- 1.7.5.4