Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJörn Friedrich Dreyer <jfd@butonic.de>2013-09-09 23:06:48 +0400
committerJörn Friedrich Dreyer <jfd@butonic.de>2013-11-01 18:44:01 +0400
commitf802fcfedc38f7f38a8b7404f7c492ded365319f (patch)
treeb5a3d3c35caedfa88945f7cf28ab4064f02b8f4e /apps
parent979cabe0d4bbe51578bd7d998a06cdadb5d14ccf (diff)
Concatenate string in SQL instead of PHP
Diffstat (limited to 'apps')
-rw-r--r--apps/files/appinfo/update.php22
1 files changed, 12 insertions, 10 deletions
diff --git a/apps/files/appinfo/update.php b/apps/files/appinfo/update.php
index 3503678e7c7..574b9c7b963 100644
--- a/apps/files/appinfo/update.php
+++ b/apps/files/appinfo/update.php
@@ -3,17 +3,19 @@
// fix webdav properties,add namespace in front of the property, update for OC4.5
$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
if (version_compare($installedVersion, '1.1.6', '<')) {
- $query = OC_DB::prepare( 'SELECT `propertyname`, `propertypath`, `userid` FROM `*PREFIX*properties`' );
- $result = $query->execute();
- $updateQuery = OC_DB::prepare('UPDATE `*PREFIX*properties`'
- .' SET `propertyname` = ?'
- .' WHERE `userid` = ?'
- .' AND `propertypath` = ?');
- while( $row = $result->fetchRow()) {
- if ( $row['propertyname'][0] != '{' ) {
- $updateQuery->execute(array('{DAV:}' + $row['propertyname'], $row['userid'], $row['propertypath']));
- }
+ // SQL92 string concatenation is ||, some of the DBMS don't know that
+ if (OC_Config::getValue('dbtype') === 'mysql') {
+ $concat = 'concat(\'{DAV:}\', `propertyname`)';
+ } else if (OC_Config::getValue('dbtype') === 'mssql') {
+ $concat = '\'{DAV:}\' + `propertyname`';
+ } else {
+ $concat = '\'{DAV:}\' || `propertyname`';
}
+ $query = OC_DB::executeAudited('
+ UPDATE `*PREFIX*properties`
+ SET `propertyname` = ' . $concat . '
+ WHERE `propertyname` NOT LIKE \'{%\'
+ ');
}
//update from OC 3