Skip to content
Snippets Groups Projects
Commit dc12dd52 authored by Frank Karlitschek's avatar Frank Karlitschek
Browse files

Merge pull request #1581 from owncloud/mapper_md5

Mapper: use md5 hashes for database indexes
parents 980c197f 0c05244f
No related branches found
No related tags found
No related merge requests found
......@@ -108,6 +108,14 @@
<length>512</length>
</field>
<field>
<name>logic_path_hash</name>
<type>text</type>
<default></default>
<notnull>true</notnull>
<length>32</length>
</field>
<field>
<name>physic_path</name>
<type>text</type>
......@@ -116,11 +124,19 @@
<length>512</length>
</field>
<field>
<name>physic_path_hash</name>
<type>text</type>
<default></default>
<notnull>true</notnull>
<length>32</length>
</field>
<index>
<name>file_map_lp_index</name>
<unique>true</unique>
<field>
<name>logic_path</name>
<name>logic_path_hash</name>
<sorting>ascending</sorting>
</field>
</index>
......@@ -129,7 +145,7 @@
<name>file_map_pp_index</name>
<unique>true</unique>
<field>
<name>physic_path</name>
<name>physic_path_hash</name>
<sorting>ascending</sorting>
</field>
</index>
......
......@@ -114,8 +114,8 @@ class Mapper
private function resolveLogicPath($logicPath) {
$logicPath = $this->stripLast($logicPath);
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*file_map` WHERE `logic_path` = ?');
$result = $query->execute(array($logicPath));
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*file_map` WHERE `logic_path_hash` = ?');
$result = $query->execute(array(md5($logicPath)));
$result = $result->fetchRow();
return $result['physic_path'];
......@@ -123,8 +123,8 @@ class Mapper
private function resolvePhysicalPath($physicalPath) {
$physicalPath = $this->stripLast($physicalPath);
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*file_map` WHERE `physic_path` = ?');
$result = $query->execute(array($physicalPath));
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*file_map` WHERE `physic_path_hash` = ?');
$result = $query->execute(array(md5($physicalPath)));
$result = $result->fetchRow();
return $result['logic_path'];
......@@ -151,8 +151,8 @@ class Mapper
}
private function insert($logicPath, $physicalPath) {
$query = \OC_DB::prepare('INSERT INTO `*PREFIX*file_map`(`logic_path`,`physic_path`) VALUES(?,?)');
$query->execute(array($logicPath, $physicalPath));
$query = \OC_DB::prepare('INSERT INTO `*PREFIX*file_map`(`logic_path`, `physic_path`, `logic_path_hash`, `physic_path_hash`) VALUES(?, ?, ?, ?)');
$query->execute(array($logicPath, $physicalPath, md5($logicPath), md5($physicalPath)));
}
private function slugifyPath($path, $index=null) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment