diff --git a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php index f4b434466e..f2edea575a 100644 --- a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php +++ b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php @@ -33,6 +33,7 @@ use OC\DB\QueryBuilder\QueryFunction; use OC\DB\QueryBuilder\QuoteHelper; use OCP\DB\QueryBuilder\IExpressionBuilder; use OCP\DB\QueryBuilder\ILiteral; +use OCP\DB\QueryBuilder\IParameter; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\DB\QueryBuilder\IQueryFunction; use OCP\IDBConnection; @@ -278,7 +279,7 @@ class ExpressionBuilder implements IExpressionBuilder { /** * Creates a LIKE() comparison expression with the given arguments. * - * @param string $x Field in string format to be inspected by LIKE() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x Field in string format to be inspected by LIKE() comparison. * @param mixed $y Argument to be used in LIKE() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility @@ -309,7 +310,7 @@ class ExpressionBuilder implements IExpressionBuilder { /** * Creates a NOT LIKE() comparison expression with the given arguments. * - * @param string $x Field in string format to be inspected by NOT LIKE() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x Field in string format to be inspected by NOT LIKE() comparison. * @param mixed $y Argument to be used in NOT LIKE() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility @@ -325,8 +326,8 @@ class ExpressionBuilder implements IExpressionBuilder { /** * Creates a IN () comparison expression with the given arguments. * - * @param string $x The field in string format to be inspected by IN() comparison. - * @param string|array $y The placeholder or the array of values to be used by IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x The field in string format to be inspected by IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string|array $y The placeholder or the array of values to be used by IN() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility * @@ -341,8 +342,8 @@ class ExpressionBuilder implements IExpressionBuilder { /** * Creates a NOT IN () comparison expression with the given arguments. * - * @param string $x The field in string format to be inspected by NOT IN() comparison. - * @param string|array $y The placeholder or the array of values to be used by NOT IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x The field in string format to be inspected by NOT IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string|array $y The placeholder or the array of values to be used by NOT IN() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility * diff --git a/lib/private/DB/QueryBuilder/QueryBuilder.php b/lib/private/DB/QueryBuilder/QueryBuilder.php index 4fde0fb451..0e3f6f7dae 100644 --- a/lib/private/DB/QueryBuilder/QueryBuilder.php +++ b/lib/private/DB/QueryBuilder/QueryBuilder.php @@ -42,6 +42,7 @@ use OC\DB\QueryBuilder\FunctionBuilder\OCIFunctionBuilder; use OC\DB\QueryBuilder\FunctionBuilder\PgSqlFunctionBuilder; use OC\DB\QueryBuilder\FunctionBuilder\SqliteFunctionBuilder; use OC\SystemConfig; +use OCP\DB\QueryBuilder\ILiteral; use OCP\DB\QueryBuilder\IParameter; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\DB\QueryBuilder\IQueryFunction; @@ -695,7 +696,7 @@ class QueryBuilder implements IQueryBuilder { * * * @param string $key The column to set. - * @param IParameter|string $value The value, expression, placeholder, etc. + * @param ILiteral|IParameter|IQueryFunction|string $value The value, expression, placeholder, etc. * * @return $this This QueryBuilder instance. */ @@ -868,14 +869,14 @@ class QueryBuilder implements IQueryBuilder { * * * @param string $column The column into which the value should be inserted. - * @param string $value The value that should be inserted into the column. + * @param IParameter|string $value The value that should be inserted into the column. * * @return $this This QueryBuilder instance. */ public function setValue($column, $value) { $this->queryBuilder->setValue( $this->helper->quoteColumnName($column), - $value + (string) $value ); return $this; diff --git a/lib/public/DB/QueryBuilder/IExpressionBuilder.php b/lib/public/DB/QueryBuilder/IExpressionBuilder.php index 845bb4a27f..450c133584 100644 --- a/lib/public/DB/QueryBuilder/IExpressionBuilder.php +++ b/lib/public/DB/QueryBuilder/IExpressionBuilder.php @@ -244,7 +244,7 @@ interface IExpressionBuilder { /** * Creates a LIKE() comparison expression with the given arguments. * - * @param string $x Field in string format to be inspected by LIKE() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x Field in string format to be inspected by LIKE() comparison. * @param mixed $y Argument to be used in LIKE() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility @@ -257,7 +257,7 @@ interface IExpressionBuilder { /** * Creates a NOT LIKE() comparison expression with the given arguments. * - * @param string $x Field in string format to be inspected by NOT LIKE() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x Field in string format to be inspected by NOT LIKE() comparison. * @param mixed $y Argument to be used in NOT LIKE() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility @@ -283,8 +283,8 @@ interface IExpressionBuilder { /** * Creates a IN () comparison expression with the given arguments. * - * @param string $x The field in string format to be inspected by IN() comparison. - * @param string|array $y The placeholder or the array of values to be used by IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x The field in string format to be inspected by IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string|array $y The placeholder or the array of values to be used by IN() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility * @@ -296,8 +296,8 @@ interface IExpressionBuilder { /** * Creates a NOT IN () comparison expression with the given arguments. * - * @param string $x The field in string format to be inspected by NOT IN() comparison. - * @param string|array $y The placeholder or the array of values to be used by NOT IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string $x The field in string format to be inspected by NOT IN() comparison. + * @param ILiteral|IParameter|IQueryFunction|string|array $y The placeholder or the array of values to be used by NOT IN() comparison. * @param mixed|null $type one of the IQueryBuilder::PARAM_* constants * required when comparing text fields for oci compatibility * diff --git a/lib/public/DB/QueryBuilder/IQueryBuilder.php b/lib/public/DB/QueryBuilder/IQueryBuilder.php index 3a9c846043..174ab1cc90 100644 --- a/lib/public/DB/QueryBuilder/IQueryBuilder.php +++ b/lib/public/DB/QueryBuilder/IQueryBuilder.php @@ -522,7 +522,7 @@ interface IQueryBuilder { * * * @param string $key The column to set. - * @param IParameter|string $value The value, expression, placeholder, etc. + * @param ILiteral|IParameter|IQueryFunction|string $value The value, expression, placeholder, etc. * * @return $this This QueryBuilder instance. * @since 8.2.0 @@ -651,7 +651,7 @@ interface IQueryBuilder { * * * @param string $column The column into which the value should be inserted. - * @param string $value The value that should be inserted into the column. + * @param IParameter|string $value The value that should be inserted into the column. * * @return $this This QueryBuilder instance. * @since 8.2.0