From d14c971ad64c52aede28ab37e7b885d763936604 Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg <mail@danielkesselberg.de>
Date: Fri, 2 Oct 2020 18:59:53 +0200
Subject: [PATCH] Update signature for like/notLike/in/notIn

$x is always passed to quoteColumnName hence ILiteral|IParameter|IQueryFunction are supported.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
---
 .../QueryBuilder/ExpressionBuilder/ExpressionBuilder.php | 9 +++++----
 lib/public/DB/QueryBuilder/IExpressionBuilder.php        | 8 ++++----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php
index f4b434466e4..4771609ad6d 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,7 +326,7 @@ 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 ILiteral|IParameter|IQueryFunction|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 mixed|null $type one of the IQueryBuilder::PARAM_* constants
 	 *                  required when comparing text fields for oci compatibility
@@ -341,7 +342,7 @@ 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 ILiteral|IParameter|IQueryFunction|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 mixed|null $type one of the IQueryBuilder::PARAM_* constants
 	 *                  required when comparing text fields for oci compatibility
diff --git a/lib/public/DB/QueryBuilder/IExpressionBuilder.php b/lib/public/DB/QueryBuilder/IExpressionBuilder.php
index e56eba3df00..0d629ad5230 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,7 +283,7 @@ 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 ILiteral|IParameter|IQueryFunction|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 mixed|null $type one of the IQueryBuilder::PARAM_* constants
 	 *                  required when comparing text fields for oci compatibility
@@ -296,7 +296,7 @@ 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 ILiteral|IParameter|IQueryFunction|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 mixed|null $type one of the IQueryBuilder::PARAM_* constants
 	 *                  required when comparing text fields for oci compatibility
-- 
GitLab