diff options
author | Joas Schilling <coding@schilljs.com> | 2020-11-16 19:17:21 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2020-11-16 19:46:24 +0100 |
commit | a8cb8e21c136dac2992f125f1270468b807dd4b2 (patch) | |
tree | 2772ac378d98172ae853317ecc9f2d3d3e64f10f | |
parent | 426dc68b456f4ea5c5bfbe9f07053e17924ea31a (diff) | |
download | nextcloud-server-a8cb8e21c136dac2992f125f1270468b807dd4b2.tar.gz nextcloud-server-a8cb8e21c136dac2992f125f1270468b807dd4b2.zip |
Add types to function builder
Signed-off-by: Joas Schilling <coding@schilljs.com>
5 files changed, 47 insertions, 70 deletions
diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php index 23a834a9c49..b8c54546b78 100644 --- a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php +++ b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php @@ -27,8 +27,6 @@ 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 { @@ -44,15 +42,15 @@ class FunctionBuilder implements IFunctionBuilder { $this->helper = $helper; } - public function md5($input) { + public function md5($input): IQueryFunction { return new QueryFunction('MD5(' . $this->helper->quoteColumnName($input) . ')'); } - public function concat($x, $y) { + public function concat($x, $y): IQueryFunction { return new QueryFunction('CONCAT(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')'); } - public function substring($input, $start, $length = null) { + public function substring($input, $start, $length = null): IQueryFunction { if ($length) { return new QueryFunction('SUBSTR(' . $this->helper->quoteColumnName($input) . ', ' . $this->helper->quoteColumnName($start) . ', ' . $this->helper->quoteColumnName($length) . ')'); } else { @@ -60,51 +58,41 @@ class FunctionBuilder implements IFunctionBuilder { } } - public function sum($field) { + public function sum($field): IQueryFunction { return new QueryFunction('SUM(' . $this->helper->quoteColumnName($field) . ')'); } - public function lower($field) { + public function lower($field): IQueryFunction { return new QueryFunction('LOWER(' . $this->helper->quoteColumnName($field) . ')'); } - public function add($x, $y) { + public function add($x, $y): IQueryFunction { return new QueryFunction($this->helper->quoteColumnName($x) . ' + ' . $this->helper->quoteColumnName($y)); } - public function subtract($x, $y) { + public function subtract($x, $y): IQueryFunction { return new QueryFunction($this->helper->quoteColumnName($x) . ' - ' . $this->helper->quoteColumnName($y)); } - public function count($count = '', $alias = '') { + public function count($count = '', $alias = ''): IQueryFunction { $alias = $alias ? (' AS ' . $this->helper->quoteColumnName($alias)) : ''; $quotedName = $count === '' ? '*' : $this->helper->quoteColumnName($count); return new QueryFunction('COUNT(' . $quotedName . ')' . $alias); } - public function max($field) { + public function max($field): IQueryFunction { return new QueryFunction('MAX(' . $this->helper->quoteColumnName($field) . ')'); } - public function min($field) { + public function min($field): IQueryFunction { 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) { + public function greatest($x, $y): IQueryFunction { 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) { + public function least($x, $y): IQueryFunction { return new QueryFunction('LEAST(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')'); } } diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/OCIFunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/OCIFunctionBuilder.php index aec92574581..4ad726bc034 100644 --- a/lib/private/DB/QueryBuilder/FunctionBuilder/OCIFunctionBuilder.php +++ b/lib/private/DB/QueryBuilder/FunctionBuilder/OCIFunctionBuilder.php @@ -29,7 +29,7 @@ use OCP\DB\QueryBuilder\IParameter; use OCP\DB\QueryBuilder\IQueryFunction; class OCIFunctionBuilder extends FunctionBuilder { - public function md5($input) { + public function md5($input): IQueryFunction { return new QueryFunction('LOWER(DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw(' . $this->helper->quoteColumnName($input) .')))'); } @@ -45,7 +45,7 @@ class OCIFunctionBuilder extends FunctionBuilder { * @param string|ILiteral|IParameter|IQueryFunction $y * @return IQueryFunction */ - public function greatest($x, $y) { + public function greatest($x, $y): IQueryFunction { if (is_string($y) || $y instanceof IQueryFunction) { return parent::greatest($y, $x); } @@ -65,7 +65,7 @@ class OCIFunctionBuilder extends FunctionBuilder { * @param string|ILiteral|IParameter|IQueryFunction $y * @return IQueryFunction */ - public function least($x, $y) { + public function least($x, $y): IQueryFunction { if (is_string($y) || $y instanceof IQueryFunction) { return parent::least($y, $x); } diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/PgSqlFunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/PgSqlFunctionBuilder.php index 8753d26104f..a44b80bbaaf 100644 --- a/lib/private/DB/QueryBuilder/FunctionBuilder/PgSqlFunctionBuilder.php +++ b/lib/private/DB/QueryBuilder/FunctionBuilder/PgSqlFunctionBuilder.php @@ -25,9 +25,10 @@ namespace OC\DB\QueryBuilder\FunctionBuilder; use OC\DB\QueryBuilder\QueryFunction; +use OCP\DB\QueryBuilder\IQueryFunction; class PgSqlFunctionBuilder extends FunctionBuilder { - public function concat($x, $y) { + public function concat($x, $y): IQueryFunction { return new QueryFunction('(' . $this->helper->quoteColumnName($x) . ' || ' . $this->helper->quoteColumnName($y) . ')'); } } diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/SqliteFunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/SqliteFunctionBuilder.php index f759fb22fde..8e490c15a3c 100644 --- a/lib/private/DB/QueryBuilder/FunctionBuilder/SqliteFunctionBuilder.php +++ b/lib/private/DB/QueryBuilder/FunctionBuilder/SqliteFunctionBuilder.php @@ -25,30 +25,18 @@ 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) { + public function concat($x, $y): IQueryFunction { 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) { + public function greatest($x, $y): IQueryFunction { 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) { + public function least($x, $y): IQueryFunction { return new QueryFunction('MIN(' . $this->helper->quoteColumnName($x) . ', ' . $this->helper->quoteColumnName($y) . ')'); } } diff --git a/lib/public/DB/QueryBuilder/IFunctionBuilder.php b/lib/public/DB/QueryBuilder/IFunctionBuilder.php index aa11e42d622..569bc7485d4 100644 --- a/lib/public/DB/QueryBuilder/IFunctionBuilder.php +++ b/lib/public/DB/QueryBuilder/IFunctionBuilder.php @@ -34,103 +34,103 @@ interface IFunctionBuilder { /** * Calculates the MD5 hash of a given input * - * @param mixed $input The input to be hashed + * @param string|ILiteral|IParameter|IQueryFunction $input The input to be hashed * * @return IQueryFunction * @since 12.0.0 */ - public function md5($input); + public function md5($input): IQueryFunction; /** * Combines two input strings * - * @param mixed $x The first input string - * @param mixed $y The seccond input string + * @param string|ILiteral|IParameter|IQueryFunction $x The first input string + * @param string|ILiteral|IParameter|IQueryFunction $y The seccond input string * * @return IQueryFunction * @since 12.0.0 */ - public function concat($x, $y); + public function concat($x, $y): IQueryFunction; /** * Takes a substring from the input string * - * @param mixed $input The input string - * @param mixed $start The start of the substring, note that counting starts at 1 - * @param mixed $length The length of the substring + * @param string|ILiteral|IParameter|IQueryFunction $input The input string + * @param string|ILiteral|IParameter|IQueryFunction $start The start of the substring, note that counting starts at 1 + * @param null|ILiteral|IParameter|IQueryFunction $length The length of the substring * * @return IQueryFunction * @since 12.0.0 */ - public function substring($input, $start, $length = null); + public function substring($input, $start, $length = null): IQueryFunction; /** * Takes the sum of all rows in a column * - * @param mixed $field the column to sum + * @param string|ILiteral|IParameter|IQueryFunction $field the column to sum * * @return IQueryFunction * @since 12.0.0 */ - public function sum($field); + public function sum($field): IQueryFunction; /** * Transforms a string field or value to lower case * - * @param mixed $field + * @param string|ILiteral|IParameter|IQueryFunction $field * @return IQueryFunction * @since 14.0.0 */ - public function lower($field); + public function lower($field): IQueryFunction; /** - * @param mixed $x The first input field or number - * @param mixed $y The second input field or number + * @param string|ILiteral|IParameter|IQueryFunction $x The first input field or number + * @param string|ILiteral|IParameter|IQueryFunction $y The second input field or number * @return IQueryFunction * @since 14.0.0 */ - public function add($x, $y); + public function add($x, $y): IQueryFunction; /** - * @param mixed $x The first input field or number - * @param mixed $y The second input field or number + * @param string|ILiteral|IParameter|IQueryFunction $x The first input field or number + * @param string|ILiteral|IParameter|IQueryFunction $y The second input field or number * @return IQueryFunction * @since 14.0.0 */ - public function subtract($x, $y); + public function subtract($x, $y): IQueryFunction; /** - * @param mixed $count The input to be counted + * @param string|ILiteral|IParameter|IQueryFunction $count The input to be counted * @param string $alias Alias for the counter * * @return IQueryFunction * @since 14.0.0 */ - public function count($count = '', $alias = ''); + public function count($count = '', $alias = ''): IQueryFunction; /** * Takes the maximum of all rows in a column * * If you want to get the maximum value of multiple columns in the same row, use `greatest` instead * - * @param mixed $field the column to maximum + * @param string|ILiteral|IParameter|IQueryFunction $field the column to maximum * * @return IQueryFunction * @since 18.0.0 */ - public function max($field); + public function max($field): IQueryFunction; /** * Takes the minimum of all rows in a column * * If you want to get the minimum value of multiple columns in the same row, use `least` instead * - * @param mixed $field the column to minimum + * @param string|ILiteral|IParameter|IQueryFunction $field the column to minimum * * @return IQueryFunction * @since 18.0.0 */ - public function min($field); + public function min($field): IQueryFunction; /** * Takes the maximum of multiple values @@ -142,7 +142,7 @@ interface IFunctionBuilder { * @return IQueryFunction * @since 18.0.0 */ - public function greatest($x, $y); + public function greatest($x, $y): IQueryFunction; /** * Takes the minimum of multiple values @@ -154,5 +154,5 @@ interface IFunctionBuilder { * @return IQueryFunction * @since 18.0.0 */ - public function least($x, $y); + public function least($x, $y): IQueryFunction; } |