diff --git a/lib/private/appframework/db/db.php b/lib/private/appframework/db/db.php index 18c32c948c54a73cb12ad365c306d46fa6f6ca4f..0824e108f49b0ffd924aa252886a1b9ca941bf99 100644 --- a/lib/private/appframework/db/db.php +++ b/lib/private/appframework/db/db.php @@ -121,24 +121,16 @@ class Db implements IDb { } /** - * Insert a row if a matching row doesn't exists. - * @param string $table The table name (will replace *PREFIX*) to perform the replace on. - * @param array $input - * @throws \OC\HintException - * - * The input array if in the form: - * - * array ( 'id' => array ( 'value' => 6, - * 'key' => true - * ), - * 'name' => array ('value' => 'Stoyan'), - * 'family' => array ('value' => 'Stefanov'), - * 'birth_date' => array ('value' => '1975-06-20') - * ); - * @return bool + * Insert a row if the matching row does not exists. * + * @param string $table The table name (will replace *PREFIX* with the actual prefix) + * @param array $input data that should be inserted into the table (column name => value) + * @param array|null $compare List of values that should be checked for "if not exists" + * If this is null or an empty array, all keys of $input will be compared + * @return int number of inserted rows + * @throws \Doctrine\DBAL\DBALException */ - public function insertIfNotExist($table, $input, $compare = null) { + public function insertIfNotExist($table, $input, array $compare = null) { return $this->connection->insertIfNotExist($table, $input, $compare); } diff --git a/lib/private/db/adapter.php b/lib/private/db/adapter.php index bd1604caf2048dc14babe1643d19ecf20966d974..d0641f113f3c53020231e2e7c70a4c475b4e3e2c 100644 --- a/lib/private/db/adapter.php +++ b/lib/private/db/adapter.php @@ -40,13 +40,16 @@ class Adapter { } /** - * insert the @input values when they do not exist yet - * @param string $table name - * @param array $input key->value pair, key has to be sanitized properly + * Insert a row if the matching row does not exists. + * + * @param string $table The table name (will replace *PREFIX* with the actual prefix) + * @param array $input data that should be inserted into the table (column name => value) + * @param array|null $compare List of values that should be checked for "if not exists" + * If this is null or an empty array, all keys of $input will be compared + * @return int number of inserted rows * @throws \Doctrine\DBAL\DBALException - * @return int count of inserted rows */ - public function insertIfNotExist($table, $input, $compare = null) { + public function insertIfNotExist($table, $input, array $compare = null) { if ($compare === null) { $compare = array_keys($input); } diff --git a/lib/private/db/adaptersqlite.php b/lib/private/db/adaptersqlite.php index f93183bee908ea6301e050ca9d81228ee2ef7c2c..1528285e11a7b05dfc84786787b9b4f77377c8f6 100644 --- a/lib/private/db/adaptersqlite.php +++ b/lib/private/db/adaptersqlite.php @@ -19,13 +19,16 @@ class AdapterSqlite extends Adapter { } /** - * @param string $table - * @param array $input - * @param null $compare - * @return int + * Insert a row if the matching row does not exists. + * + * @param string $table The table name (will replace *PREFIX* with the actual prefix) + * @param array $input data that should be inserted into the table (column name => value) + * @param array|null $compare List of values that should be checked for "if not exists" + * If this is null or an empty array, all keys of $input will be compared + * @return int number of inserted rows * @throws \Doctrine\DBAL\DBALException */ - public function insertIfNotExist($table, $input, $compare = null) { + public function insertIfNotExist($table, $input, array $compare = null) { if ($compare === null) { $compare = array_keys($input); } diff --git a/lib/private/db/connection.php b/lib/private/db/connection.php index cdbfc94a0393e44689edca1b1a9a329cc0721c9a..023e265f242d5bf109e7e71f7ab72f6d6fa187a0 100644 --- a/lib/private/db/connection.php +++ b/lib/private/db/connection.php @@ -157,14 +157,16 @@ class Connection extends \Doctrine\DBAL\Connection implements IDBConnection { } /** - * Insert a row if a matching row does not exists. - * @param string $table. The table to insert into in the form '*PREFIX*tableName' - * @param array $input. An array of field name/value pairs - * @param array $compare + * Insert a row if the matching row does not exists. + * + * @param string $table The table name (will replace *PREFIX* with the actual prefix) + * @param array $input data that should be inserted into the table (column name => value) + * @param array|null $compare List of values that should be checked for "if not exists" + * If this is null or an empty array, all keys of $input will be compared + * @return int number of inserted rows * @throws \Doctrine\DBAL\DBALException - * @return bool The return value from execute() */ - public function insertIfNotExist($table, $input, $compare = null) { + public function insertIfNotExist($table, $input, array $compare = null) { return $this->adapter->insertIfNotExist($table, $input, $compare); } diff --git a/lib/public/db.php b/lib/public/db.php index d8d81f239b276270ed39291de84a6732830188f7..595ecd66bdcd8db75c57a91faf1700d94ad03de7 100644 --- a/lib/public/db.php +++ b/lib/public/db.php @@ -48,23 +48,17 @@ class DB { } /** - * Insert a row if a matching row doesn't exists. - * @param string $table The optional table name (will replace *PREFIX*) and add sequence suffix - * @param array $input - * - * The input array if in the form: + * Insert a row if the matching row does not exists. * - * array ( 'id' => array ( 'value' => 6, - * 'key' => true - * ), - * 'name' => array ('value' => 'Stoyan'), - * 'family' => array ('value' => 'Stefanov'), - * 'birth_date' => array ('value' => '1975-06-20') - * ); - * @return bool + * @param string $table The table name (will replace *PREFIX* with the actual prefix) + * @param array $input data that should be inserted into the table (column name => value) + * @param array|null $compare List of values that should be checked for "if not exists" + * If this is null or an empty array, all keys of $input will be compared + * @return int number of inserted rows + * @throws \Doctrine\DBAL\DBALException * */ - public static function insertIfNotExist($table, $input, $compare = null) { + public static function insertIfNotExist($table, $input, array $compare = null) { return \OC::$server->getDatabaseConnection()->insertIfNotExist($table, $input, $compare); } diff --git a/lib/public/idbconnection.php b/lib/public/idbconnection.php index c8a2c5796b52ac395b72dec2a5e80c590806fd6a..1117c2da9b20b5906ac3cb6e34cf426b1f262db0 100644 --- a/lib/public/idbconnection.php +++ b/lib/public/idbconnection.php @@ -77,24 +77,16 @@ interface IDBConnection { public function lastInsertId($table = null); /** - * Insert a row if a matching row doesn't exists. - * @param string $table The table name (will replace *PREFIX*) to perform the replace on. - * @param array $input - * @throws \Doctrine\DBAL\DBALException - * - * The input array if in the form: - * - * array ( 'id' => array ( 'value' => 6, - * 'key' => true - * ), - * 'name' => array ('value' => 'Stoyan'), - * 'family' => array ('value' => 'Stefanov'), - * 'birth_date' => array ('value' => '1975-06-20') - * ); - * @return bool + * Insert a row if the matching row does not exists. * + * @param string $table The table name (will replace *PREFIX* with the actual prefix) + * @param array $input data that should be inserted into the table (column name => value) + * @param array|null $compare List of values that should be checked for "if not exists" + * If this is null or an empty array, all keys of $input will be compared + * @return int number of inserted rows + * @throws \Doctrine\DBAL\DBALException */ - public function insertIfNotExist($table, $input, $compare = null); + public function insertIfNotExist($table, $input, array $compare = null); /** * Start a transaction