@@ -1673,7 +1673,7 @@ private static function sqlTimestampdiff(
16731673 * @param array<string, mixed> $row
16741674 * @param QueryResult $result
16751675 *
1676- * @return int
1676+ * @return mixed|null
16771677 * @throws ProcessorException
16781678 */
16791679 private static function sqlLeast (
@@ -1696,29 +1696,32 @@ private static function sqlLeast(
16961696 $ evaluated_args = [];
16971697
16981698 foreach ($ args as $ arg ) {
1699+ /** @var string|int|float|null $evaluated_arg */
16991700 $ evaluated_arg = Evaluator::evaluate ($ conn , $ scope , $ arg , $ row , $ result );
17001701 if (is_null ($ evaluated_arg )) {
17011702 return null ;
17021703 }
17031704
17041705 if (is_float ($ evaluated_arg )) {
17051706 $ is_any_float = true ;
1706- $ precision = max ($ precision , strlen (substr (strrchr (strval ( $ evaluated_arg) , ". " ), 1 )));
1707+ $ precision = max ($ precision , strlen (substr (strrchr (( string ) $ evaluated_arg , ". " ), 1 )));
17071708 }
17081709
17091710 $ is_any_string = $ is_any_string || is_string ($ evaluated_arg );
17101711 $ evaluated_args [] = $ evaluated_arg ;
17111712 }
17121713
17131714 if ($ is_any_string ) {
1714- $ evaluated_str_args = array_map (fn ($ evaluated_arg ) => strval ($ evaluated_arg ), $ evaluated_args );
1715- return min (...$ evaluated_str_args );
1715+ $ evaluated_str_args = array_map (function ($ arg ) {
1716+ return (string ) $ arg ;
1717+ }, $ evaluated_args );
1718+ return min ($ evaluated_str_args );
17161719 }
17171720
17181721 if ($ is_any_float ) {
1719- return number_format (min (... $ evaluated_args ), $ precision );
1722+ return number_format (( float ) min ($ evaluated_args ), $ precision );
17201723 }
17211724
1722- return min (... $ evaluated_args );
1725+ return min ($ evaluated_args );
17231726 }
17241727}
0 commit comments