Passed
Push — master ( 8709f6...30fb78 )
by Morris
10:59
created
lib/private/DB/QueryBuilder/Literal.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -25,17 +25,17 @@
 block discarded – undo
25 25
 use OCP\DB\QueryBuilder\ILiteral;
26 26
 
27 27
 class Literal implements ILiteral{
28
-	/** @var mixed */
29
-	protected $literal;
28
+    /** @var mixed */
29
+    protected $literal;
30 30
 
31
-	public function __construct($literal) {
32
-		$this->literal = $literal;
33
-	}
31
+    public function __construct($literal) {
32
+        $this->literal = $literal;
33
+    }
34 34
 
35
-	/**
36
-	 * @return string
37
-	 */
38
-	public function __toString() {
39
-		return (string) $this->literal;
40
-	}
35
+    /**
36
+     * @return string
37
+     */
38
+    public function __toString() {
39
+        return (string) $this->literal;
40
+    }
41 41
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -24,7 +24,7 @@
 block discarded – undo
24 24
 
25 25
 use OCP\DB\QueryBuilder\ILiteral;
26 26
 
27
-class Literal implements ILiteral{
27
+class Literal implements ILiteral {
28 28
 	/** @var mixed */
29 29
 	protected $literal;
30 30
 
Please login to merge, or discard this patch.
lib/private/DB/QueryBuilder/Parameter.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -25,17 +25,17 @@
 block discarded – undo
25 25
 use OCP\DB\QueryBuilder\IParameter;
26 26
 
27 27
 class Parameter implements IParameter {
28
-	/** @var mixed */
29
-	protected $name;
28
+    /** @var mixed */
29
+    protected $name;
30 30
 
31
-	public function __construct($name) {
32
-		$this->name = $name;
33
-	}
31
+    public function __construct($name) {
32
+        $this->name = $name;
33
+    }
34 34
 
35
-	/**
36
-	 * @return string
37
-	 */
38
-	public function __toString() {
39
-		return (string) $this->name;
40
-	}
35
+    /**
36
+     * @return string
37
+     */
38
+    public function __toString() {
39
+        return (string) $this->name;
40
+    }
41 41
 }
Please login to merge, or discard this patch.
lib/private/DB/QueryBuilder/ExpressionBuilder/MySqlExpressionBuilder.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@
 block discarded – undo
48 48
 	public function iLike($x, $y, $type = null) {
49 49
 		$x = $this->helper->quoteColumnName($x);
50 50
 		$y = $this->helper->quoteColumnName($y);
51
-		return $this->expressionBuilder->comparison($x, ' COLLATE ' . $this->charset . '_general_ci LIKE', $y);
51
+		return $this->expressionBuilder->comparison($x, ' COLLATE '.$this->charset.'_general_ci LIKE', $y);
52 52
 	}
53 53
 
54 54
 }
Please login to merge, or discard this patch.
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -30,27 +30,27 @@
 block discarded – undo
30 30
 
31 31
 class MySqlExpressionBuilder extends ExpressionBuilder {
32 32
 
33
-	/** @var string */
34
-	protected $charset;
35
-
36
-	/**
37
-	 * @param \OCP\IDBConnection|Connection $connection
38
-	 * @param IQueryBuilder $queryBuilder
39
-	 */
40
-	public function __construct(IDBConnection $connection, IQueryBuilder $queryBuilder) {
41
-		parent::__construct($connection, $queryBuilder);
42
-
43
-		$params = $connection->getParams();
44
-		$this->charset = isset($params['charset']) ? $params['charset'] : 'utf8';
45
-	}
46
-
47
-	/**
48
-	 * @inheritdoc
49
-	 */
50
-	public function iLike($x, $y, $type = null) {
51
-		$x = $this->helper->quoteColumnName($x);
52
-		$y = $this->helper->quoteColumnName($y);
53
-		return $this->expressionBuilder->comparison($x, ' COLLATE ' . $this->charset . '_general_ci LIKE', $y);
54
-	}
33
+    /** @var string */
34
+    protected $charset;
35
+
36
+    /**
37
+     * @param \OCP\IDBConnection|Connection $connection
38
+     * @param IQueryBuilder $queryBuilder
39
+     */
40
+    public function __construct(IDBConnection $connection, IQueryBuilder $queryBuilder) {
41
+        parent::__construct($connection, $queryBuilder);
42
+
43
+        $params = $connection->getParams();
44
+        $this->charset = isset($params['charset']) ? $params['charset'] : 'utf8';
45
+    }
46
+
47
+    /**
48
+     * @inheritdoc
49
+     */
50
+    public function iLike($x, $y, $type = null) {
51
+        $x = $this->helper->quoteColumnName($x);
52
+        $y = $this->helper->quoteColumnName($y);
53
+        return $this->expressionBuilder->comparison($x, ' COLLATE ' . $this->charset . '_general_ci LIKE', $y);
54
+    }
55 55
 
56 56
 }
Please login to merge, or discard this patch.
lib/private/DB/QueryBuilder/ExpressionBuilder/PgSqlExpressionBuilder.php 2 patches
Indentation   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -29,29 +29,29 @@
 block discarded – undo
29 29
 
30 30
 class PgSqlExpressionBuilder extends ExpressionBuilder {
31 31
 
32
-	/**
33
-	 * Returns a IQueryFunction that casts the column to the given type
34
-	 *
35
-	 * @param string $column
36
-	 * @param mixed $type One of IQueryBuilder::PARAM_*
37
-	 * @return string
38
-	 */
39
-	public function castColumn($column, $type) {
40
-		if ($type === IQueryBuilder::PARAM_INT) {
41
-			$column = $this->helper->quoteColumnName($column);
42
-			return new QueryFunction('CAST(' . $column . ' AS INT)');
43
-		}
44
-
45
-		return parent::castColumn($column, $type);
46
-	}
47
-
48
-	/**
49
-	 * @inheritdoc
50
-	 */
51
-	public function iLike($x, $y, $type = null) {
52
-		$x = $this->helper->quoteColumnName($x);
53
-		$y = $this->helper->quoteColumnName($y);
54
-		return $this->expressionBuilder->comparison($x, 'ILIKE', $y);
55
-	}
32
+    /**
33
+     * Returns a IQueryFunction that casts the column to the given type
34
+     *
35
+     * @param string $column
36
+     * @param mixed $type One of IQueryBuilder::PARAM_*
37
+     * @return string
38
+     */
39
+    public function castColumn($column, $type) {
40
+        if ($type === IQueryBuilder::PARAM_INT) {
41
+            $column = $this->helper->quoteColumnName($column);
42
+            return new QueryFunction('CAST(' . $column . ' AS INT)');
43
+        }
44
+
45
+        return parent::castColumn($column, $type);
46
+    }
47
+
48
+    /**
49
+     * @inheritdoc
50
+     */
51
+    public function iLike($x, $y, $type = null) {
52
+        $x = $this->helper->quoteColumnName($x);
53
+        $y = $this->helper->quoteColumnName($y);
54
+        return $this->expressionBuilder->comparison($x, 'ILIKE', $y);
55
+    }
56 56
 
57 57
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@
 block discarded – undo
39 39
 	public function castColumn($column, $type) {
40 40
 		if ($type === IQueryBuilder::PARAM_INT) {
41 41
 			$column = $this->helper->quoteColumnName($column);
42
-			return new QueryFunction('CAST(' . $column . ' AS INT)');
42
+			return new QueryFunction('CAST('.$column.' AS INT)');
43 43
 		}
44 44
 
45 45
 		return parent::castColumn($column, $type);
Please login to merge, or discard this patch.
lib/private/DB/PgSqlTools.php 2 patches
Indentation   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -31,41 +31,41 @@
 block discarded – undo
31 31
 */
32 32
 class PgSqlTools {
33 33
 
34
-	/** @var \OCP\IConfig */
35
-	private $config;
34
+    /** @var \OCP\IConfig */
35
+    private $config;
36 36
 
37
-	/**
38
-	 * @param \OCP\IConfig $config
39
-	 */
40
-	public function __construct(IConfig $config) {
41
-		$this->config = $config;
42
-	}
37
+    /**
38
+     * @param \OCP\IConfig $config
39
+     */
40
+    public function __construct(IConfig $config) {
41
+        $this->config = $config;
42
+    }
43 43
 
44
-	/**
45
-	* @brief Resynchronizes all sequences of a database after using INSERTs
46
-	*        without leaving out the auto-incremented column.
47
-	* @param \OC\DB\Connection $conn
48
-	* @return null
49
-	*/
50
-	public function resynchronizeDatabaseSequences(Connection $conn) {
51
-		$filterExpression = '/^' . preg_quote($this->config->getSystemValue('dbtableprefix', 'oc_')) . '/';
52
-		$databaseName = $conn->getDatabase();
53
-		$conn->getConfiguration()->setFilterSchemaAssetsExpression($filterExpression);
44
+    /**
45
+     * @brief Resynchronizes all sequences of a database after using INSERTs
46
+     *        without leaving out the auto-incremented column.
47
+     * @param \OC\DB\Connection $conn
48
+     * @return null
49
+     */
50
+    public function resynchronizeDatabaseSequences(Connection $conn) {
51
+        $filterExpression = '/^' . preg_quote($this->config->getSystemValue('dbtableprefix', 'oc_')) . '/';
52
+        $databaseName = $conn->getDatabase();
53
+        $conn->getConfiguration()->setFilterSchemaAssetsExpression($filterExpression);
54 54
 
55
-		foreach ($conn->getSchemaManager()->listSequences() as $sequence) {
56
-			$sequenceName = $sequence->getName();
57
-			$sqlInfo = 'SELECT table_schema, table_name, column_name
55
+        foreach ($conn->getSchemaManager()->listSequences() as $sequence) {
56
+            $sequenceName = $sequence->getName();
57
+            $sqlInfo = 'SELECT table_schema, table_name, column_name
58 58
 				FROM information_schema.columns
59 59
 				WHERE column_default = ? AND table_catalog = ?';
60
-			$sequenceInfo = $conn->fetchAssoc($sqlInfo, array(
61
-				"nextval('$sequenceName'::regclass)",
62
-				$databaseName
63
-			));
64
-			$tableName = $sequenceInfo['table_name'];
65
-			$columnName = $sequenceInfo['column_name'];
66
-			$sqlMaxId = "SELECT MAX($columnName) FROM $tableName";
67
-			$sqlSetval = "SELECT setval('$sequenceName', ($sqlMaxId))";
68
-			$conn->executeQuery($sqlSetval);
69
-		}
70
-	}
60
+            $sequenceInfo = $conn->fetchAssoc($sqlInfo, array(
61
+                "nextval('$sequenceName'::regclass)",
62
+                $databaseName
63
+            ));
64
+            $tableName = $sequenceInfo['table_name'];
65
+            $columnName = $sequenceInfo['column_name'];
66
+            $sqlMaxId = "SELECT MAX($columnName) FROM $tableName";
67
+            $sqlSetval = "SELECT setval('$sequenceName', ($sqlMaxId))";
68
+            $conn->executeQuery($sqlSetval);
69
+        }
70
+    }
71 71
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@
 block discarded – undo
48 48
 	* @return null
49 49
 	*/
50 50
 	public function resynchronizeDatabaseSequences(Connection $conn) {
51
-		$filterExpression = '/^' . preg_quote($this->config->getSystemValue('dbtableprefix', 'oc_')) . '/';
51
+		$filterExpression = '/^'.preg_quote($this->config->getSystemValue('dbtableprefix', 'oc_')).'/';
52 52
 		$databaseName = $conn->getDatabase();
53 53
 		$conn->getConfiguration()->setFilterSchemaAssetsExpression($filterExpression);
54 54
 
Please login to merge, or discard this patch.
lib/private/DB/PostgreSqlMigrator.php 2 patches
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -25,32 +25,32 @@
 block discarded – undo
25 25
 use Doctrine\DBAL\Schema\Schema;
26 26
 
27 27
 class PostgreSqlMigrator extends Migrator {
28
-	/**
29
-	 * @param Schema $targetSchema
30
-	 * @param \Doctrine\DBAL\Connection $connection
31
-	 * @return \Doctrine\DBAL\Schema\SchemaDiff
32
-	 */
33
-	protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) {
34
-		$schemaDiff = parent::getDiff($targetSchema, $connection);
28
+    /**
29
+     * @param Schema $targetSchema
30
+     * @param \Doctrine\DBAL\Connection $connection
31
+     * @return \Doctrine\DBAL\Schema\SchemaDiff
32
+     */
33
+    protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) {
34
+        $schemaDiff = parent::getDiff($targetSchema, $connection);
35 35
 
36
-		foreach ($schemaDiff->changedTables as $tableDiff) {
37
-			// fix default value in brackets - pg 9.4 is returning a negative default value in ()
38
-			// see https://github.com/doctrine/dbal/issues/2427
39
-			foreach ($tableDiff->changedColumns as $column) {
40
-				$column->changedProperties = array_filter($column->changedProperties, function ($changedProperties) use ($column) {
41
-					if ($changedProperties !== 'default') {
42
-						return true;
43
-					}
44
-					$fromDefault = $column->fromColumn->getDefault();
45
-					$toDefault = $column->column->getDefault();
46
-					$fromDefault = trim($fromDefault, "()");
36
+        foreach ($schemaDiff->changedTables as $tableDiff) {
37
+            // fix default value in brackets - pg 9.4 is returning a negative default value in ()
38
+            // see https://github.com/doctrine/dbal/issues/2427
39
+            foreach ($tableDiff->changedColumns as $column) {
40
+                $column->changedProperties = array_filter($column->changedProperties, function ($changedProperties) use ($column) {
41
+                    if ($changedProperties !== 'default') {
42
+                        return true;
43
+                    }
44
+                    $fromDefault = $column->fromColumn->getDefault();
45
+                    $toDefault = $column->column->getDefault();
46
+                    $fromDefault = trim($fromDefault, "()");
47 47
 
48
-					// by intention usage of !=
49
-					return $fromDefault != $toDefault;
50
-				});
51
-			}
52
-		}
48
+                    // by intention usage of !=
49
+                    return $fromDefault != $toDefault;
50
+                });
51
+            }
52
+        }
53 53
 
54
-		return $schemaDiff;
55
-	}
54
+        return $schemaDiff;
55
+    }
56 56
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@
 block discarded – undo
37 37
 			// fix default value in brackets - pg 9.4 is returning a negative default value in ()
38 38
 			// see https://github.com/doctrine/dbal/issues/2427
39 39
 			foreach ($tableDiff->changedColumns as $column) {
40
-				$column->changedProperties = array_filter($column->changedProperties, function ($changedProperties) use ($column) {
40
+				$column->changedProperties = array_filter($column->changedProperties, function($changedProperties) use ($column) {
41 41
 					if ($changedProperties !== 'default') {
42 42
 						return true;
43 43
 					}
Please login to merge, or discard this patch.
lib/private/DB/Adapter.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
 	 */
67 67
 	public function lockTable($tableName) {
68 68
 		$this->conn->beginTransaction();
69
-		$this->conn->executeUpdate('LOCK TABLE `' .$tableName . '` IN EXCLUSIVE MODE');
69
+		$this->conn->executeUpdate('LOCK TABLE `'.$tableName.'` IN EXCLUSIVE MODE');
70 70
 	}
71 71
 
72 72
 	/**
@@ -93,14 +93,14 @@  discard block
 block discarded – undo
93 93
 		if (empty($compare)) {
94 94
 			$compare = array_keys($input);
95 95
 		}
96
-		$query = 'INSERT INTO `' .$table . '` (`'
97
-			. implode('`,`', array_keys($input)) . '`) SELECT '
98
-			. str_repeat('?,', count($input)-1).'? ' // Is there a prettier alternative?
99
-			. 'FROM `' . $table . '` WHERE ';
96
+		$query = 'INSERT INTO `'.$table.'` (`'
97
+			. implode('`,`', array_keys($input)).'`) SELECT '
98
+			. str_repeat('?,', count($input) - 1).'? ' // Is there a prettier alternative?
99
+			. 'FROM `'.$table.'` WHERE ';
100 100
 
101 101
 		$inserts = array_values($input);
102
-		foreach($compare as $key) {
103
-			$query .= '`' . $key . '`';
102
+		foreach ($compare as $key) {
103
+			$query .= '`'.$key.'`';
104 104
 			if (is_null($input[$key])) {
105 105
 				$query .= ' IS NULL AND ';
106 106
 			} else {
Please login to merge, or discard this patch.
Indentation   +83 added lines, -83 removed lines patch added patch discarded remove patch
@@ -35,95 +35,95 @@
 block discarded – undo
35 35
  */
36 36
 class Adapter {
37 37
 
38
-	/**
39
-	 * @var \OC\DB\Connection $conn
40
-	 */
41
-	protected $conn;
38
+    /**
39
+     * @var \OC\DB\Connection $conn
40
+     */
41
+    protected $conn;
42 42
 
43
-	public function __construct($conn) {
44
-		$this->conn = $conn;
45
-	}
43
+    public function __construct($conn) {
44
+        $this->conn = $conn;
45
+    }
46 46
 
47
-	/**
48
-	 * @param string $table name
49
-	 * @return int id of last insert statement
50
-	 */
51
-	public function lastInsertId($table) {
52
-		return $this->conn->realLastInsertId($table);
53
-	}
47
+    /**
48
+     * @param string $table name
49
+     * @return int id of last insert statement
50
+     */
51
+    public function lastInsertId($table) {
52
+        return $this->conn->realLastInsertId($table);
53
+    }
54 54
 
55
-	/**
56
-	 * @param string $statement that needs to be changed so the db can handle it
57
-	 * @return string changed statement
58
-	 */
59
-	public function fixupStatement($statement) {
60
-		return $statement;
61
-	}
55
+    /**
56
+     * @param string $statement that needs to be changed so the db can handle it
57
+     * @return string changed statement
58
+     */
59
+    public function fixupStatement($statement) {
60
+        return $statement;
61
+    }
62 62
 
63
-	/**
64
-	 * Create an exclusive read+write lock on a table
65
-	 *
66
-	 * @param string $tableName
67
-	 * @since 9.1.0
68
-	 */
69
-	public function lockTable($tableName) {
70
-		$this->conn->beginTransaction();
71
-		$this->conn->executeUpdate('LOCK TABLE `' .$tableName . '` IN EXCLUSIVE MODE');
72
-	}
63
+    /**
64
+     * Create an exclusive read+write lock on a table
65
+     *
66
+     * @param string $tableName
67
+     * @since 9.1.0
68
+     */
69
+    public function lockTable($tableName) {
70
+        $this->conn->beginTransaction();
71
+        $this->conn->executeUpdate('LOCK TABLE `' .$tableName . '` IN EXCLUSIVE MODE');
72
+    }
73 73
 
74
-	/**
75
-	 * Release a previous acquired lock again
76
-	 *
77
-	 * @since 9.1.0
78
-	 */
79
-	public function unlockTable() {
80
-		$this->conn->commit();
81
-	}
74
+    /**
75
+     * Release a previous acquired lock again
76
+     *
77
+     * @since 9.1.0
78
+     */
79
+    public function unlockTable() {
80
+        $this->conn->commit();
81
+    }
82 82
 
83
-	/**
84
-	 * Insert a row if the matching row does not exists. To accomplish proper race condition avoidance
85
-	 * it is needed that there is also a unique constraint on the values. Then this method will
86
-	 * catch the exception and return 0.
87
-	 *
88
-	 * @param string $table The table name (will replace *PREFIX* with the actual prefix)
89
-	 * @param array $input data that should be inserted into the table  (column name => value)
90
-	 * @param array|null $compare List of values that should be checked for "if not exists"
91
-	 *				If this is null or an empty array, all keys of $input will be compared
92
-	 *				Please note: text fields (clob) must not be used in the compare array
93
-	 * @return int number of inserted rows
94
-	 * @throws \Doctrine\DBAL\DBALException
95
-	 * @deprecated 15.0.0 - use unique index and "try { $db->insert() } catch (UniqueConstraintViolationException $e) {}" instead, because it is more reliable and does not have the risk for deadlocks - see https://github.com/nextcloud/server/pull/12371
96
-	 */
97
-	public function insertIfNotExist($table, $input, array $compare = null) {
98
-		if (empty($compare)) {
99
-			$compare = array_keys($input);
100
-		}
101
-		$query = 'INSERT INTO `' .$table . '` (`'
102
-			. implode('`,`', array_keys($input)) . '`) SELECT '
103
-			. str_repeat('?,', count($input)-1).'? ' // Is there a prettier alternative?
104
-			. 'FROM `' . $table . '` WHERE ';
83
+    /**
84
+     * Insert a row if the matching row does not exists. To accomplish proper race condition avoidance
85
+     * it is needed that there is also a unique constraint on the values. Then this method will
86
+     * catch the exception and return 0.
87
+     *
88
+     * @param string $table The table name (will replace *PREFIX* with the actual prefix)
89
+     * @param array $input data that should be inserted into the table  (column name => value)
90
+     * @param array|null $compare List of values that should be checked for "if not exists"
91
+     *				If this is null or an empty array, all keys of $input will be compared
92
+     *				Please note: text fields (clob) must not be used in the compare array
93
+     * @return int number of inserted rows
94
+     * @throws \Doctrine\DBAL\DBALException
95
+     * @deprecated 15.0.0 - use unique index and "try { $db->insert() } catch (UniqueConstraintViolationException $e) {}" instead, because it is more reliable and does not have the risk for deadlocks - see https://github.com/nextcloud/server/pull/12371
96
+     */
97
+    public function insertIfNotExist($table, $input, array $compare = null) {
98
+        if (empty($compare)) {
99
+            $compare = array_keys($input);
100
+        }
101
+        $query = 'INSERT INTO `' .$table . '` (`'
102
+            . implode('`,`', array_keys($input)) . '`) SELECT '
103
+            . str_repeat('?,', count($input)-1).'? ' // Is there a prettier alternative?
104
+            . 'FROM `' . $table . '` WHERE ';
105 105
 
106
-		$inserts = array_values($input);
107
-		foreach($compare as $key) {
108
-			$query .= '`' . $key . '`';
109
-			if (is_null($input[$key])) {
110
-				$query .= ' IS NULL AND ';
111
-			} else {
112
-				$inserts[] = $input[$key];
113
-				$query .= ' = ? AND ';
114
-			}
115
-		}
116
-		$query = substr($query, 0, -5);
117
-		$query .= ' HAVING COUNT(*) = 0';
106
+        $inserts = array_values($input);
107
+        foreach($compare as $key) {
108
+            $query .= '`' . $key . '`';
109
+            if (is_null($input[$key])) {
110
+                $query .= ' IS NULL AND ';
111
+            } else {
112
+                $inserts[] = $input[$key];
113
+                $query .= ' = ? AND ';
114
+            }
115
+        }
116
+        $query = substr($query, 0, -5);
117
+        $query .= ' HAVING COUNT(*) = 0';
118 118
 
119
-		try {
120
-			return $this->conn->executeUpdate($query, $inserts);
121
-		} catch (UniqueConstraintViolationException $e) {
122
-			// if this is thrown then a concurrent insert happened between the insert and the sub-select in the insert, that should have avoided it
123
-			// it's fine to ignore this then
124
-			//
125
-			// more discussions about this can be found at https://github.com/nextcloud/server/pull/12315
126
-			return 0;
127
-		}
128
-	}
119
+        try {
120
+            return $this->conn->executeUpdate($query, $inserts);
121
+        } catch (UniqueConstraintViolationException $e) {
122
+            // if this is thrown then a concurrent insert happened between the insert and the sub-select in the insert, that should have avoided it
123
+            // it's fine to ignore this then
124
+            //
125
+            // more discussions about this can be found at https://github.com/nextcloud/server/pull/12315
126
+            return 0;
127
+        }
128
+    }
129 129
 }
Please login to merge, or discard this patch.
lib/private/DB/AdapterMySQL.php 2 patches
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -27,31 +27,31 @@
 block discarded – undo
27 27
 
28 28
 class AdapterMySQL extends Adapter {
29 29
 
30
-	/** @var string */
31
-	protected $charset;
32
-
33
-	/**
34
-	 * @param string $tableName
35
-	 */
36
-	public function lockTable($tableName) {
37
-		$this->conn->executeUpdate('LOCK TABLES `' .$tableName . '` WRITE');
38
-	}
39
-
40
-	public function unlockTable() {
41
-		$this->conn->executeUpdate('UNLOCK TABLES');
42
-	}
43
-
44
-	public function fixupStatement($statement) {
45
-		$statement = str_replace(' ILIKE ', ' COLLATE ' . $this->getCharset() . '_general_ci LIKE ', $statement);
46
-		return $statement;
47
-	}
48
-
49
-	protected function getCharset() {
50
-		if (!$this->charset) {
51
-			$params = $this->conn->getParams();
52
-			$this->charset = isset($params['charset']) ? $params['charset'] : 'utf8';
53
-		}
54
-
55
-		return $this->charset;
56
-	}
30
+    /** @var string */
31
+    protected $charset;
32
+
33
+    /**
34
+     * @param string $tableName
35
+     */
36
+    public function lockTable($tableName) {
37
+        $this->conn->executeUpdate('LOCK TABLES `' .$tableName . '` WRITE');
38
+    }
39
+
40
+    public function unlockTable() {
41
+        $this->conn->executeUpdate('UNLOCK TABLES');
42
+    }
43
+
44
+    public function fixupStatement($statement) {
45
+        $statement = str_replace(' ILIKE ', ' COLLATE ' . $this->getCharset() . '_general_ci LIKE ', $statement);
46
+        return $statement;
47
+    }
48
+
49
+    protected function getCharset() {
50
+        if (!$this->charset) {
51
+            $params = $this->conn->getParams();
52
+            $this->charset = isset($params['charset']) ? $params['charset'] : 'utf8';
53
+        }
54
+
55
+        return $this->charset;
56
+    }
57 57
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
 	 * @param string $tableName
35 35
 	 */
36 36
 	public function lockTable($tableName) {
37
-		$this->conn->executeUpdate('LOCK TABLES `' .$tableName . '` WRITE');
37
+		$this->conn->executeUpdate('LOCK TABLES `'.$tableName.'` WRITE');
38 38
 	}
39 39
 
40 40
 	public function unlockTable() {
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
 	}
43 43
 
44 44
 	public function fixupStatement($statement) {
45
-		$statement = str_replace(' ILIKE ', ' COLLATE ' . $this->getCharset() . '_general_ci LIKE ', $statement);
45
+		$statement = str_replace(' ILIKE ', ' COLLATE '.$this->getCharset().'_general_ci LIKE ', $statement);
46 46
 		return $statement;
47 47
 	}
48 48
 
Please login to merge, or discard this patch.
lib/private/DB/MigrationException.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -25,17 +25,17 @@
 block discarded – undo
25 25
 
26 26
 
27 27
 class MigrationException extends \Exception {
28
-	private $table;
28
+    private $table;
29 29
 
30
-	public function __construct($table, $message) {
31
-		$this->table = $table;
32
-		parent::__construct($message);
33
-	}
30
+    public function __construct($table, $message) {
31
+        $this->table = $table;
32
+        parent::__construct($message);
33
+    }
34 34
 
35
-	/**
36
-	 * @return string
37
-	 */
38
-	public function getTable() {
39
-		return $this->table;
40
-	}
35
+    /**
36
+     * @return string
37
+     */
38
+    public function getTable() {
39
+        return $this->table;
40
+    }
41 41
 }
Please login to merge, or discard this patch.