Update parameters

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-11-07 14:06:03 +01:00 committed by backportbot[bot]
parent 2e3cffc53b
commit b3dfa9290d
4 changed files with 32 additions and 8 deletions

View File

@ -27,6 +27,9 @@ namespace OC\DB\QueryBuilder\FunctionBuilder;
use OC\DB\QueryBuilder\QueryFunction;
use OC\DB\QueryBuilder\QuoteHelper;
use OCP\DB\QueryBuilder\IFunctionBuilder;
use OCP\DB\QueryBuilder\ILiteral;
use OCP\DB\QueryBuilder\IParameter;
use OCP\DB\QueryBuilder\IQueryFunction;
class FunctionBuilder implements IFunctionBuilder {
/** @var QuoteHelper */
@ -87,10 +90,20 @@ class FunctionBuilder implements IFunctionBuilder {
return new QueryFunction('MIN(' . $this->helper->quoteColumnName($field) . ')');
}
/**
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return IQueryFunction
*/
public function greatest($x, $y) {
return new QueryFunction('GREATEST(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')');
}
/**
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return IQueryFunction
*/
public function least($x, $y) {
return new QueryFunction('LEAST(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')');
}

View File

@ -43,7 +43,7 @@ class OCIFunctionBuilder extends FunctionBuilder {
*
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return QueryFunction
* @return IQueryFunction
*/
public function greatest($x, $y) {
if (is_string($y) || $y instanceof IQueryFunction) {
@ -63,7 +63,7 @@ class OCIFunctionBuilder extends FunctionBuilder {
*
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return QueryFunction
* @return IQueryFunction
*/
public function least($x, $y) {
if (is_string($y) || $y instanceof IQueryFunction) {

View File

@ -25,16 +25,29 @@
namespace OC\DB\QueryBuilder\FunctionBuilder;
use OC\DB\QueryBuilder\QueryFunction;
use OCP\DB\QueryBuilder\ILiteral;
use OCP\DB\QueryBuilder\IParameter;
use OCP\DB\QueryBuilder\IQueryFunction;
class SqliteFunctionBuilder extends FunctionBuilder {
public function concat($x, $y) {
return new QueryFunction('(' . $this->helper->quoteColumnName($x) . ' || ' . $this->helper->quoteColumnName($y) . ')');
}
/**
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return IQueryFunction
*/
public function greatest($x, $y) {
return new QueryFunction('MAX(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')');
}
/**
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return IQueryFunction
*/
public function least($x, $y) {
return new QueryFunction('MIN(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')');
}

View File

@ -137,9 +137,8 @@ interface IFunctionBuilder {
*
* If you want to get the maximum value of all rows in a column, use `max` instead
*
* @param mixed $x the first input field or number
* @param mixed $y the first input field or number
*
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return IQueryFunction
* @since 18.0.0
*/
@ -150,9 +149,8 @@ interface IFunctionBuilder {
*
* If you want to get the minimum value of all rows in a column, use `min` instead
*
* @param mixed $x the first input field or number
* @param mixed $y the first input field or number
*
* @param string|ILiteral|IParameter|IQueryFunction $x
* @param string|ILiteral|IParameter|IQueryFunction $y
* @return IQueryFunction
* @since 18.0.0
*/