diff --git a/src/SqlAst/IfNullReturnTypeExtension.php b/src/SqlAst/IfNullReturnTypeExtension.php index 07a197cd8..07bc5c4d4 100644 --- a/src/SqlAst/IfNullReturnTypeExtension.php +++ b/src/SqlAst/IfNullReturnTypeExtension.php @@ -13,20 +13,79 @@ final class IfNullReturnTypeExtension implements QueryFunctionReturnTypeExtensio { public function isFunctionSupported(FunctionCall $expression): bool { - return \in_array($expression->getFunction()->getName(), [BuiltInFunction::IFNULL, BuiltInFunction::NULLIF], true); + return \in_array($expression->getFunction()->getName(), [BuiltInFunction::IFNULL], true); } - public function getReturnType(FunctionCall $expression, QueryScope $scope): Type + public function getReturnType(FunctionCall $expression, QueryScope $scope): ?Type { $args = $expression->getArguments(); - $results = []; - foreach ($args as $arg) { - $argType = $scope->getType($arg); + if (2 !== \count($args)) { + return null; + } + + $argType1 = $scope->getType($args[0]); + $argType2 = $scope->getType($args[1]); + + // If arg1 is literal null, arg2 is always returned + if ($argType1->isNull()->yes()) { + return $argType2; + } - $results[] = $argType; + $arg1ContainsNull = TypeCombinator::containsNull($argType1); + $arg2ContainsNull = TypeCombinator::containsNull($argType2); + $argType1NoNull = TypeCombinator::removeNull($argType1); + $argType2NoNull = TypeCombinator::removeNull($argType2); + + // If arg1 can be null, the result can be arg1 or arg2; + // otherwise, the result can only be arg1. + if ($arg1ContainsNull) { + $resultType = TypeCombinator::union($argType1NoNull, $argType2NoNull); + } else { + $resultType = $argType1; + } + + // The result type is always the "more general" of the two args + // in the order: string, float, integer. + // see https://dev.mysql.com/doc/refman/5.7/en/flow-control-functions.html#function_ifnull + if ($this->isResultString($argType1NoNull, $argType2NoNull)) { + $resultType = $resultType->toString(); + } elseif ($this->isResultFloat($argType1NoNull, $argType2NoNull)) { + $resultType = $resultType->toFloat(); } - return TypeCombinator::union(...$results); + // Re-add null if arg2 can contain null + if ($arg2ContainsNull) { + $resultType = TypeCombinator::addNull($resultType); + } + return $resultType; + } + + private function isResultString(Type $type1, Type $type2): bool + { + return ( + // If either arg is a string, the result is a string + $type1->isString()->yes() || + $type2->isString()->yes() || + + // Special case where args are a constant float and an int + // results in a numeric string + ( + $type1->isConstantScalarValue()->yes() && + $type1->isFloat()->yes() && + $type2->isInteger()->yes() + ) || + ( + $type2->isConstantScalarValue()->yes() && + $type2->isFloat()->yes() && + $type1->isInteger()->yes() + ) + ); + } + + private function isResultFloat(Type $type1, Type $type2): bool + { + // If either arg is a float, the result is a float + return $type1->isFloat()->yes() || $type2->isFloat()->yes(); } } diff --git a/src/SqlAst/NullIfReturnTypeExtension.php b/src/SqlAst/NullIfReturnTypeExtension.php new file mode 100644 index 000000000..9a2ae2a51 --- /dev/null +++ b/src/SqlAst/NullIfReturnTypeExtension.php @@ -0,0 +1,47 @@ +getFunction()->getName(), [BuiltInFunction::NULLIF], true); + } + + public function getReturnType(FunctionCall $expression, QueryScope $scope): ?Type + { + $args = $expression->getArguments(); + + if (2 !== \count($args)) { + return null; + } + + $argType1 = $scope->getType($args[0]); + $argType2 = $scope->getType($args[1]); + + // Return null type if scalar constants are equal + if ( + $argType1->isConstantScalarValue()->yes() && + $argType1->equals($argType2) + ) { + return new NullType(); + } + + // If the types *can* be equal, we return the first type or null type + if ($argType1->isSuperTypeOf($argType2)->yes() || $argType2->isSuperTypeOf($argType1)->yes()) { + return TypeCombinator::addNull($argType1); + } + + // Otherwise the first type is returned + return $argType1; + } +} diff --git a/src/SqlAst/QueryScope.php b/src/SqlAst/QueryScope.php index 0c098f609..5eaf6aca7 100644 --- a/src/SqlAst/QueryScope.php +++ b/src/SqlAst/QueryScope.php @@ -59,6 +59,7 @@ public function __construct(Table $fromTable, array $joinedTables) new PositiveIntReturnTypeExtension(), new CoalesceReturnTypeExtension(), new IfNullReturnTypeExtension(), + new NullIfReturnTypeExtension(), new IfReturnTypeExtension(), new ConcatReturnTypeExtension(), new InstrReturnTypeExtension(), diff --git a/tests/default/config/.phpunit-phpstan-dba-mysqli.cache b/tests/default/config/.phpunit-phpstan-dba-mysqli.cache index 38c34c83a..f95706d16 100644 --- a/tests/default/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/default/config/.phpunit-phpstan-dba-mysqli.cache @@ -450,7 +450,7 @@ 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', + 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_nullable_tinyint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', ), 'types' => array ( @@ -598,136 +598,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_set', + 'value' => 'c_real', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_set', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_text', + 'value' => 'c_smallint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_time', + 'value' => 'c_text', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_timestamp', + 'value' => 'c_time', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tiny_text', + 'value' => 'c_timestamp', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_tiny_text', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyint', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_tinyint', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary25', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary255', + 'value' => 'c_varbinary25', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar25', + 'value' => 'c_varbinary255', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar255', + 'value' => 'c_varchar25', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_year', + 'value' => 'c_varchar255', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_year', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -911,136 +918,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_decimal', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -1311,20 +1325,38 @@ 'max' => 127, )), 20 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 4 => 'int<-128, 127>|null', + 3 => 'int<-128, 127>|null', + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 21 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 21 => + 22 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 22 => - PHPStan\Type\IntegerType::__set_state(array( - )), 23 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 24 => PHPStan\Type\FloatType::__set_state(array( @@ -1333,13 +1365,13 @@ PHPStan\Type\FloatType::__set_state(array( )), 26 => + PHPStan\Type\FloatType::__set_state(array( + )), + 27 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -128, 'max' => 127, )), - 27 => - PHPStan\Type\StringType::__set_state(array( - )), 28 => PHPStan\Type\StringType::__set_state(array( )), @@ -1350,31 +1382,34 @@ PHPStan\Type\StringType::__set_state(array( )), 31 => + PHPStan\Type\StringType::__set_state(array( + )), + 32 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 32 => + 33 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 33 => + 34 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 34 => + 35 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 35 => + 36 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 36 => + 37 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -1393,10 +1428,10 @@ ), 'normalized' => true, )), - 37 => + 38 => PHPStan\Type\StringType::__set_state(array( )), - 38 => + 39 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -1425,7 +1460,7 @@ ), 'normalized' => true, )), - 39 => + 40 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => @@ -1451,7 +1486,7 @@ 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', + 2 => '0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_nullable_tinyint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', ), 'types' => array ( @@ -1616,6 +1651,10 @@ 'value' => 39, )), 40 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 40, + )), + 41 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1628,7 +1667,7 @@ 'value' => 'c_bigint', 'isClassString' => false, )), - 41 => + 42 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1641,7 +1680,7 @@ 'value' => 'c_bit', 'isClassString' => false, )), - 42 => + 43 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1654,7 +1693,7 @@ 'value' => 'c_blob', 'isClassString' => false, )), - 43 => + 44 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1667,7 +1706,7 @@ 'value' => 'c_boolean', 'isClassString' => false, )), - 44 => + 45 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1680,7 +1719,7 @@ 'value' => 'c_char5', 'isClassString' => false, )), - 45 => + 46 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1693,7 +1732,7 @@ 'value' => 'c_date', 'isClassString' => false, )), - 46 => + 47 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1706,7 +1745,7 @@ 'value' => 'c_datetime', 'isClassString' => false, )), - 47 => + 48 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1719,7 +1758,7 @@ 'value' => 'c_decimal', 'isClassString' => false, )), - 48 => + 49 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1732,7 +1771,7 @@ 'value' => 'c_decimal_not_null', 'isClassString' => false, )), - 49 => + 50 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1745,7 +1784,7 @@ 'value' => 'c_double', 'isClassString' => false, )), - 50 => + 51 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1758,7 +1797,7 @@ 'value' => 'c_enum', 'isClassString' => false, )), - 51 => + 52 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1771,7 +1810,7 @@ 'value' => 'c_float', 'isClassString' => false, )), - 52 => + 53 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1784,7 +1823,7 @@ 'value' => 'c_int', 'isClassString' => false, )), - 53 => + 54 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1797,7 +1836,7 @@ 'value' => 'c_json', 'isClassString' => false, )), - 54 => + 55 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1810,7 +1849,7 @@ 'value' => 'c_json_not_null', 'isClassString' => false, )), - 55 => + 56 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1823,7 +1862,7 @@ 'value' => 'c_long_text', 'isClassString' => false, )), - 56 => + 57 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1836,7 +1875,7 @@ 'value' => 'c_longblob', 'isClassString' => false, )), - 57 => + 58 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1849,7 +1888,7 @@ 'value' => 'c_medium_text', 'isClassString' => false, )), - 58 => + 59 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1862,7 +1901,7 @@ 'value' => 'c_mediumblog', 'isClassString' => false, )), - 59 => + 60 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1875,7 +1914,20 @@ 'value' => 'c_mediumint', 'isClassString' => false, )), - 60 => + 61 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_nullable_tinyint', + 'isClassString' => false, + )), + 'value' => 'c_nullable_tinyint', + 'isClassString' => false, + )), + 62 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1888,7 +1940,7 @@ 'value' => 'c_real', 'isClassString' => false, )), - 61 => + 63 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1901,7 +1953,7 @@ 'value' => 'c_set', 'isClassString' => false, )), - 62 => + 64 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1914,7 +1966,7 @@ 'value' => 'c_smallint', 'isClassString' => false, )), - 63 => + 65 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1927,7 +1979,7 @@ 'value' => 'c_text', 'isClassString' => false, )), - 64 => + 66 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1940,7 +1992,7 @@ 'value' => 'c_time', 'isClassString' => false, )), - 65 => + 67 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1953,7 +2005,7 @@ 'value' => 'c_timestamp', 'isClassString' => false, )), - 66 => + 68 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1966,7 +2018,7 @@ 'value' => 'c_tiny_text', 'isClassString' => false, )), - 67 => + 69 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1979,7 +2031,7 @@ 'value' => 'c_tinyblob', 'isClassString' => false, )), - 68 => + 70 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1992,7 +2044,7 @@ 'value' => 'c_tinyint', 'isClassString' => false, )), - 69 => + 71 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2005,7 +2057,7 @@ 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), - 70 => + 72 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2018,7 +2070,7 @@ 'value' => 'c_unsigned_int', 'isClassString' => false, )), - 71 => + 73 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2031,7 +2083,7 @@ 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), - 72 => + 74 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2044,7 +2096,7 @@ 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), - 73 => + 75 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2057,7 +2109,7 @@ 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), - 74 => + 76 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2070,7 +2122,7 @@ 'value' => 'c_varbinary25', 'isClassString' => false, )), - 75 => + 77 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2083,7 +2135,7 @@ 'value' => 'c_varbinary255', 'isClassString' => false, )), - 76 => + 78 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2096,7 +2148,7 @@ 'value' => 'c_varchar25', 'isClassString' => false, )), - 77 => + 79 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2109,7 +2161,7 @@ 'value' => 'c_varchar255', 'isClassString' => false, )), - 78 => + 80 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2122,7 +2174,7 @@ 'value' => 'c_year', 'isClassString' => false, )), - 79 => + 81 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2164,7 +2216,7 @@ 'allArrays' => NULL, 'nextAutoIndexes' => array ( - 0 => 40, + 0 => 41, ), 'keyTypes' => array ( @@ -2515,10 +2567,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 41 => @@ -2532,10 +2584,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), 43 => @@ -2549,10 +2601,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), 45 => @@ -2566,10 +2618,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), 47 => @@ -2583,10 +2635,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), 49 => @@ -2600,10 +2652,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), 51 => @@ -2617,10 +2669,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), 53 => @@ -2634,10 +2686,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), 55 => @@ -2651,10 +2703,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), 57 => @@ -2668,10 +2720,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 59 => @@ -2685,10 +2737,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), 61 => @@ -2702,10 +2754,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), 63 => @@ -2719,10 +2771,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 65 => @@ -2736,10 +2788,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 67 => @@ -2753,10 +2805,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 69 => @@ -2770,10 +2822,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 71 => @@ -2787,10 +2839,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 73 => @@ -2804,10 +2856,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), 75 => @@ -2821,10 +2873,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), 77 => @@ -2838,16 +2890,33 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal_not_null', + 'value' => 'c_decimal', 'isClassString' => false, )), - 'value' => 'c_decimal_not_null', + 'value' => 'c_decimal', 'isClassString' => false, )), 79 => PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( 'value' => 39, )), + 80 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_decimal_not_null', + 'isClassString' => false, + )), + 'value' => 'c_decimal_not_null', + 'isClassString' => false, + )), + 81 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 40, + )), ), 'valueTypes' => array ( @@ -3348,36 +3417,70 @@ 'max' => 127, )), 40 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 4 => 'int<-128, 127>|null', + 3 => 'int<-128, 127>|null', + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 41 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 42 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 41 => + 43 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 42 => + 44 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 43 => + 45 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 44 => - PHPStan\Type\IntegerType::__set_state(array( - )), - 45 => - PHPStan\Type\IntegerType::__set_state(array( - )), 46 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 47 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 48 => PHPStan\Type\FloatType::__set_state(array( @@ -3392,20 +3495,20 @@ PHPStan\Type\FloatType::__set_state(array( )), 52 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -128, - 'max' => 127, + PHPStan\Type\FloatType::__set_state(array( )), 53 => + PHPStan\Type\FloatType::__set_state(array( + )), + 54 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -128, 'max' => 127, )), - 54 => - PHPStan\Type\StringType::__set_state(array( - )), 55 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 56 => PHPStan\Type\StringType::__set_state(array( @@ -3426,56 +3529,62 @@ PHPStan\Type\StringType::__set_state(array( )), 62 => + PHPStan\Type\StringType::__set_state(array( + )), + 63 => + PHPStan\Type\StringType::__set_state(array( + )), + 64 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 63 => + 65 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 64 => + 66 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 65 => + 67 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 66 => + 68 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 67 => + 69 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 68 => + 70 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 69 => + 71 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 70 => + 72 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 71 => + 73 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 72 => + 74 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -3494,7 +3603,7 @@ ), 'normalized' => true, )), - 73 => + 75 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -3511,13 +3620,13 @@ ), 'normalized' => true, )), - 74 => + 76 => PHPStan\Type\StringType::__set_state(array( )), - 75 => + 77 => PHPStan\Type\StringType::__set_state(array( )), - 76 => + 78 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -3546,7 +3655,7 @@ ), 'normalized' => true, )), - 77 => + 79 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -3573,7 +3682,7 @@ ), 'normalized' => true, )), - 78 => + 80 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => @@ -3586,7 +3695,7 @@ )), ), )), - 79 => + 81 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => diff --git a/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache index 98719793e..7233d6a3c 100644 --- a/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -450,7 +450,7 @@ 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', + 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_nullable_tinyint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', ), 'types' => array ( @@ -598,136 +598,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_set', + 'value' => 'c_real', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_set', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_text', + 'value' => 'c_smallint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_time', + 'value' => 'c_text', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_timestamp', + 'value' => 'c_time', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tiny_text', + 'value' => 'c_timestamp', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_tiny_text', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyint', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_tinyint', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary25', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary255', + 'value' => 'c_varbinary25', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar25', + 'value' => 'c_varbinary255', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar255', + 'value' => 'c_varchar25', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_year', + 'value' => 'c_varchar255', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_year', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -911,136 +918,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_decimal', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -1311,20 +1325,38 @@ 'max' => 127, )), 20 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 4 => 'int<-128, 127>|null', + 3 => 'int<-128, 127>|null', + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 21 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 21 => + 22 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 22 => - PHPStan\Type\IntegerType::__set_state(array( - )), 23 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 24 => PHPStan\Type\FloatType::__set_state(array( @@ -1333,13 +1365,13 @@ PHPStan\Type\FloatType::__set_state(array( )), 26 => + PHPStan\Type\FloatType::__set_state(array( + )), + 27 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -128, 'max' => 127, )), - 27 => - PHPStan\Type\StringType::__set_state(array( - )), 28 => PHPStan\Type\StringType::__set_state(array( )), @@ -1350,31 +1382,34 @@ PHPStan\Type\StringType::__set_state(array( )), 31 => + PHPStan\Type\StringType::__set_state(array( + )), + 32 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 32 => + 33 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 33 => + 34 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 34 => + 35 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 35 => + 36 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 36 => + 37 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -1393,10 +1428,10 @@ ), 'normalized' => true, )), - 37 => + 38 => PHPStan\Type\StringType::__set_state(array( )), - 38 => + 39 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -1425,7 +1460,7 @@ ), 'normalized' => true, )), - 39 => + 40 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => @@ -1451,7 +1486,7 @@ 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', + 2 => '0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_nullable_tinyint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', ), 'types' => array ( @@ -1616,6 +1651,10 @@ 'value' => 39, )), 40 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 40, + )), + 41 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1628,7 +1667,7 @@ 'value' => 'c_bigint', 'isClassString' => false, )), - 41 => + 42 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1641,7 +1680,7 @@ 'value' => 'c_bit', 'isClassString' => false, )), - 42 => + 43 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1654,7 +1693,7 @@ 'value' => 'c_blob', 'isClassString' => false, )), - 43 => + 44 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1667,7 +1706,7 @@ 'value' => 'c_boolean', 'isClassString' => false, )), - 44 => + 45 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1680,7 +1719,7 @@ 'value' => 'c_char5', 'isClassString' => false, )), - 45 => + 46 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1693,7 +1732,7 @@ 'value' => 'c_date', 'isClassString' => false, )), - 46 => + 47 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1706,7 +1745,7 @@ 'value' => 'c_datetime', 'isClassString' => false, )), - 47 => + 48 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1719,7 +1758,7 @@ 'value' => 'c_decimal', 'isClassString' => false, )), - 48 => + 49 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1732,7 +1771,7 @@ 'value' => 'c_decimal_not_null', 'isClassString' => false, )), - 49 => + 50 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1745,7 +1784,7 @@ 'value' => 'c_double', 'isClassString' => false, )), - 50 => + 51 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1758,7 +1797,7 @@ 'value' => 'c_enum', 'isClassString' => false, )), - 51 => + 52 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1771,7 +1810,7 @@ 'value' => 'c_float', 'isClassString' => false, )), - 52 => + 53 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1784,7 +1823,7 @@ 'value' => 'c_int', 'isClassString' => false, )), - 53 => + 54 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1797,7 +1836,7 @@ 'value' => 'c_json', 'isClassString' => false, )), - 54 => + 55 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1810,7 +1849,7 @@ 'value' => 'c_json_not_null', 'isClassString' => false, )), - 55 => + 56 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1823,7 +1862,7 @@ 'value' => 'c_long_text', 'isClassString' => false, )), - 56 => + 57 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1836,7 +1875,7 @@ 'value' => 'c_longblob', 'isClassString' => false, )), - 57 => + 58 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1849,7 +1888,7 @@ 'value' => 'c_medium_text', 'isClassString' => false, )), - 58 => + 59 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1862,7 +1901,7 @@ 'value' => 'c_mediumblog', 'isClassString' => false, )), - 59 => + 60 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1875,7 +1914,20 @@ 'value' => 'c_mediumint', 'isClassString' => false, )), - 60 => + 61 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_nullable_tinyint', + 'isClassString' => false, + )), + 'value' => 'c_nullable_tinyint', + 'isClassString' => false, + )), + 62 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1888,7 +1940,7 @@ 'value' => 'c_real', 'isClassString' => false, )), - 61 => + 63 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1901,7 +1953,7 @@ 'value' => 'c_set', 'isClassString' => false, )), - 62 => + 64 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1914,7 +1966,7 @@ 'value' => 'c_smallint', 'isClassString' => false, )), - 63 => + 65 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1927,7 +1979,7 @@ 'value' => 'c_text', 'isClassString' => false, )), - 64 => + 66 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1940,7 +1992,7 @@ 'value' => 'c_time', 'isClassString' => false, )), - 65 => + 67 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1953,7 +2005,7 @@ 'value' => 'c_timestamp', 'isClassString' => false, )), - 66 => + 68 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1966,7 +2018,7 @@ 'value' => 'c_tiny_text', 'isClassString' => false, )), - 67 => + 69 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1979,7 +2031,7 @@ 'value' => 'c_tinyblob', 'isClassString' => false, )), - 68 => + 70 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -1992,7 +2044,7 @@ 'value' => 'c_tinyint', 'isClassString' => false, )), - 69 => + 71 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2005,7 +2057,7 @@ 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), - 70 => + 72 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2018,7 +2070,7 @@ 'value' => 'c_unsigned_int', 'isClassString' => false, )), - 71 => + 73 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2031,7 +2083,7 @@ 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), - 72 => + 74 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2044,7 +2096,7 @@ 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), - 73 => + 75 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2057,7 +2109,7 @@ 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), - 74 => + 76 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2070,7 +2122,7 @@ 'value' => 'c_varbinary25', 'isClassString' => false, )), - 75 => + 77 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2083,7 +2135,7 @@ 'value' => 'c_varbinary255', 'isClassString' => false, )), - 76 => + 78 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2096,7 +2148,7 @@ 'value' => 'c_varchar25', 'isClassString' => false, )), - 77 => + 79 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2109,7 +2161,7 @@ 'value' => 'c_varchar255', 'isClassString' => false, )), - 78 => + 80 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2122,7 +2174,7 @@ 'value' => 'c_year', 'isClassString' => false, )), - 79 => + 81 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => @@ -2164,7 +2216,7 @@ 'allArrays' => NULL, 'nextAutoIndexes' => array ( - 0 => 40, + 0 => 41, ), 'keyTypes' => array ( @@ -2515,10 +2567,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 41 => @@ -2532,10 +2584,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), 43 => @@ -2549,10 +2601,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), 45 => @@ -2566,10 +2618,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), 47 => @@ -2583,10 +2635,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), 49 => @@ -2600,10 +2652,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), 51 => @@ -2617,10 +2669,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), 53 => @@ -2634,10 +2686,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), 55 => @@ -2651,10 +2703,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), 57 => @@ -2668,10 +2720,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 59 => @@ -2685,10 +2737,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), 61 => @@ -2702,10 +2754,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), 63 => @@ -2719,10 +2771,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 65 => @@ -2736,10 +2788,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 67 => @@ -2753,10 +2805,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 69 => @@ -2770,10 +2822,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 71 => @@ -2787,10 +2839,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 73 => @@ -2804,10 +2856,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), 75 => @@ -2821,10 +2873,10 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), 77 => @@ -2838,16 +2890,33 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal_not_null', + 'value' => 'c_decimal', 'isClassString' => false, )), - 'value' => 'c_decimal_not_null', + 'value' => 'c_decimal', 'isClassString' => false, )), 79 => PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( 'value' => 39, )), + 80 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_decimal_not_null', + 'isClassString' => false, + )), + 'value' => 'c_decimal_not_null', + 'isClassString' => false, + )), + 81 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 40, + )), ), 'valueTypes' => array ( @@ -3348,36 +3417,70 @@ 'max' => 127, )), 40 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 4 => 'int<-128, 127>|null', + 3 => 'int<-128, 127>|null', + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 41 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 42 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 41 => + 43 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 42 => + 44 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 43 => + 45 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 44 => - PHPStan\Type\IntegerType::__set_state(array( - )), - 45 => - PHPStan\Type\IntegerType::__set_state(array( - )), 46 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 47 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 48 => PHPStan\Type\FloatType::__set_state(array( @@ -3392,20 +3495,20 @@ PHPStan\Type\FloatType::__set_state(array( )), 52 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -128, - 'max' => 127, + PHPStan\Type\FloatType::__set_state(array( )), 53 => + PHPStan\Type\FloatType::__set_state(array( + )), + 54 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -128, 'max' => 127, )), - 54 => - PHPStan\Type\StringType::__set_state(array( - )), 55 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 56 => PHPStan\Type\StringType::__set_state(array( @@ -3426,56 +3529,62 @@ PHPStan\Type\StringType::__set_state(array( )), 62 => + PHPStan\Type\StringType::__set_state(array( + )), + 63 => + PHPStan\Type\StringType::__set_state(array( + )), + 64 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 63 => + 65 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 64 => + 66 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 65 => + 67 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 66 => + 68 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 67 => + 69 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 68 => + 70 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 69 => + 71 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 70 => + 72 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 71 => + 73 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 72 => + 74 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -3494,7 +3603,7 @@ ), 'normalized' => true, )), - 73 => + 75 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -3511,13 +3620,13 @@ ), 'normalized' => true, )), - 74 => + 76 => PHPStan\Type\StringType::__set_state(array( )), - 75 => + 77 => PHPStan\Type\StringType::__set_state(array( )), - 76 => + 78 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => true, 'cachedDescriptions' => @@ -3546,7 +3655,7 @@ ), 'normalized' => true, )), - 77 => + 79 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -3573,7 +3682,7 @@ ), 'normalized' => true, )), - 78 => + 80 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => @@ -3586,7 +3695,7 @@ )), ), )), - 79 => + 81 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => diff --git a/tests/default/data/typemix-mysql.php b/tests/default/data/typemix-mysql.php index f8860319a..5aacb4cf2 100644 --- a/tests/default/data/typemix-mysql.php +++ b/tests/default/data/typemix-mysql.php @@ -8,7 +8,7 @@ class TypemixMysql { - private const MYSQL_DATATYPES = 'array{pid: int<0, 4294967295>, c_char5: string, c_varchar255: string, c_varchar25: string|null, c_varbinary255: string, c_varbinary25: string|null, c_date: string|null, c_time: string|null, c_datetime: string|null, c_timestamp: string|null, c_year: int<0, 2155>|null, c_tiny_text: string|null, c_medium_text: string|null, c_text: string|null, c_long_text: string|null, c_enum: string, c_set: string, c_bit: int|null, c_int: int<-2147483648, 2147483647>, c_tinyint: int<-128, 127>, c_smallint: int<-32768, 32767>, c_mediumint: int<-8388608, 8388607>, c_bigint: int, c_double: float, c_real: float, c_float: float, c_boolean: int<-128, 127>, c_blob: string, c_tinyblob: string, c_mediumblog: string, c_longblob: string, c_unsigned_tinyint: int<0, 255>, c_unsigned_int: int<0, 4294967295>, c_unsigned_smallint: int<0, 65535>, c_unsigned_mediumint: int<0, 16777215>, c_unsigned_bigint: int<0, max>, c_json: string|null, c_json_not_null: string, c_decimal: numeric-string|null, c_decimal_not_null: numeric-string}'; + private const MYSQL_DATATYPES = 'array{pid: int<0, 4294967295>, c_char5: string, c_varchar255: string, c_varchar25: string|null, c_varbinary255: string, c_varbinary25: string|null, c_date: string|null, c_time: string|null, c_datetime: string|null, c_timestamp: string|null, c_year: int<0, 2155>|null, c_tiny_text: string|null, c_medium_text: string|null, c_text: string|null, c_long_text: string|null, c_enum: string, c_set: string, c_bit: int|null, c_int: int<-2147483648, 2147483647>, c_tinyint: int<-128, 127>, c_nullable_tinyint: int<-128, 127>|null, c_smallint: int<-32768, 32767>, c_mediumint: int<-8388608, 8388607>, c_bigint: int, c_double: float, c_real: float, c_float: float, c_boolean: int<-128, 127>, c_blob: string, c_tinyblob: string, c_mediumblog: string, c_longblob: string, c_unsigned_tinyint: int<0, 255>, c_unsigned_int: int<0, 4294967295>, c_unsigned_smallint: int<0, 65535>, c_unsigned_mediumint: int<0, 16777215>, c_unsigned_bigint: int<0, max>, c_json: string|null, c_json_not_null: string, c_decimal: numeric-string|null, c_decimal_not_null: numeric-string}'; public function typemixMysqli(mysqli $mysqli) { diff --git a/tests/schema.sql b/tests/schema.sql index b99810115..086ca7a07 100644 --- a/tests/schema.sql +++ b/tests/schema.sql @@ -50,6 +50,7 @@ CREATE TABLE `typemix` ( `c_bit` bit(7) DEFAULT NULL, `c_int` int NOT NULL, `c_tinyint` tinyint NOT NULL, + `c_nullable_tinyint` tinyint, `c_smallint` smallint NOT NULL, `c_mediumint` mediumint NOT NULL, `c_bigint` bigint NOT NULL, diff --git a/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache b/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache index b94d9ff1a..ffc2caa83 100644 --- a/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache @@ -438,7 +438,7 @@ 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', + 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_nullable_tinyint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', ), 'types' => array ( @@ -586,136 +586,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_set', + 'value' => 'c_real', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_set', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_text', + 'value' => 'c_smallint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_time', + 'value' => 'c_text', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_timestamp', + 'value' => 'c_time', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tiny_text', + 'value' => 'c_timestamp', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_tiny_text', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyint', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_tinyint', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary25', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary255', + 'value' => 'c_varbinary25', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar25', + 'value' => 'c_varbinary255', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar255', + 'value' => 'c_varchar25', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_year', + 'value' => 'c_varchar255', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_year', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -899,136 +906,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_decimal', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -1275,20 +1289,36 @@ 'max' => 127, )), 20 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 21 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 21 => + 22 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 22 => - PHPStan\Type\IntegerType::__set_state(array( - )), 23 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 24 => PHPStan\Type\FloatType::__set_state(array( @@ -1297,13 +1327,13 @@ PHPStan\Type\FloatType::__set_state(array( )), 26 => + PHPStan\Type\FloatType::__set_state(array( + )), + 27 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -128, 'max' => 127, )), - 27 => - PHPStan\Type\StringType::__set_state(array( - )), 28 => PHPStan\Type\StringType::__set_state(array( )), @@ -1314,31 +1344,34 @@ PHPStan\Type\StringType::__set_state(array( )), 31 => + PHPStan\Type\StringType::__set_state(array( + )), + 32 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 32 => + 33 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 33 => + 34 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 34 => + 35 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 35 => + 36 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 36 => + 37 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -1355,10 +1388,10 @@ ), 'normalized' => true, )), - 37 => + 38 => PHPStan\Type\StringType::__set_state(array( )), - 38 => + 39 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -1385,7 +1418,7 @@ ), 'normalized' => true, )), - 39 => + 40 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => @@ -16763,74 +16796,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, "default") as col from ada' => - array ( - 'result' => - array ( - 5 => - PHPStan\Type\Constant\ConstantArrayType::__set_state(array( - 'keyType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => true, - 'cachedDescriptions' => - array ( - 2 => '0|\'col\'', - ), - 'types' => - array ( - 0 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), - 1 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'col', - 'isClassString' => false, - )), - ), - 'normalized' => false, - )), - 'itemType' => - PHPStan\Type\StringType::__set_state(array( - )), - 'allArrays' => NULL, - 'nextAutoIndexes' => - array ( - 0 => 1, - ), - 'keyTypes' => - array ( - 0 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'col', - 'isClassString' => false, - )), - 1 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), - ), - 'valueTypes' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\StringType::__set_state(array( - )), - ), - 'optionalKeys' => - array ( - ), - 'isList' => false, - )), - ), - ), - 'SELECT ifnull(freigabe1u1, 123.23) as col from ada' => + 'SELECT ifnull(123.23, c_int) as col from typemix' => array ( 'result' => array ( @@ -16927,7 +16893,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, 5000) as col from ada' => + 'SELECT ifnull(c_float, 123.23) as col from typemix' => array ( 'result' => array ( @@ -16957,7 +16923,7 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\FloatType::__set_state(array( )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -16981,10 +16947,10 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\FloatType::__set_state(array( )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\FloatType::__set_state(array( )), ), 'optionalKeys' => @@ -16994,7 +16960,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, freigabe1u1) as col from ada' => + 'SELECT ifnull(c_int, "default") as col from typemix' => array ( 'result' => array ( @@ -17024,9 +16990,7 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17050,14 +17014,10 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), 1 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), ), 'optionalKeys' => @@ -17067,7 +17027,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, gesperrt) as col from ada' => + 'SELECT ifnull(c_int, 123.23) as col from typemix' => array ( 'result' => array ( @@ -17097,9 +17057,17 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17123,15 +17091,1818 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), )), 1 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_int, c_float) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\FloatType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\FloatType::__set_state(array( + )), + 1 => + PHPStan\Type\FloatType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, "default") as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\StringType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\StringType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, 5000) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, c_nullable_tinyint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, c_smallint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_smallint, c_smallint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_smallint, c_tinyint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_tinyint, c_smallint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, "default") as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\StringType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\StringType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, 123.23) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + 1 => + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, 5000) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, freigabe1u1) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, gesperrt) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(gesperrt, freigabe1u1) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(null, "default") as col' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\StringType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\StringType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT instr(\'foobarbar\', \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT instr(akid, \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT instr(eladaid, \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT isnull(akid) as n1 from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'n1\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT isnull(eladaid) as n1 from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'n1\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT lcase(c_varbinary255) as field from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT length(akid) as col from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT locate(\'foo\', eladaid, \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), ), 'optionalKeys' => array ( @@ -17140,7 +18911,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(gesperrt, freigabe1u1) as col from ada' => + 'SELECT locate(akid, \'bar\') as field from ak' => array ( 'result' => array ( @@ -17151,7 +18922,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'col\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -17163,16 +18934,14 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntegerType::__set_state(array( )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17185,7 +18954,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -17196,14 +18965,10 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntegerType::__set_state(array( )), 1 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntegerType::__set_state(array( )), ), 'optionalKeys' => @@ -17213,7 +18978,7 @@ FROM ada' => )), ), ), - 'SELECT instr(\'foobarbar\', \'bar\') as field from ak' => + 'SELECT locate(eladaid, \'bar\') as field from ak' => array ( 'result' => array ( @@ -17243,7 +19008,21 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17267,10 +19046,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17280,7 +19087,7 @@ FROM ada' => )), ), ), - 'SELECT instr(akid, \'bar\') as field from ak' => + 'SELECT lower(\'FOO\') as field from ak' => array ( 'result' => array ( @@ -17310,7 +19117,21 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17334,10 +19155,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17347,7 +19196,7 @@ FROM ada' => )), ), ), - 'SELECT instr(eladaid, \'bar\') as field from ak' => + 'SELECT lower(\'foobarbar\') as field from ak' => array ( 'result' => array ( @@ -17385,7 +19234,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17423,7 +19272,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17440,7 +19289,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17456,7 +19305,7 @@ FROM ada' => )), ), ), - 'SELECT isnull(akid) as n1 from ak' => + 'SELECT lower(c_varbinary25) as field from typemix' => array ( 'result' => array ( @@ -17467,7 +19316,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'n1\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -17479,14 +19328,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17499,7 +19362,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -17510,10 +19373,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17523,7 +19414,7 @@ FROM ada' => )), ), ), - 'SELECT isnull(eladaid) as n1 from ak' => + 'SELECT lower(c_varbinary255) as field from typemix' => array ( 'result' => array ( @@ -17534,7 +19425,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'n1\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -17546,14 +19437,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17566,7 +19471,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -17577,10 +19482,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17590,7 +19523,7 @@ FROM ada' => )), ), ), - 'SELECT lcase(c_varbinary255) as field from typemix' => + 'SELECT lower(concat(akid, 5000)) as col from ak' => array ( 'result' => array ( @@ -17601,7 +19534,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -17613,7 +19546,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'col', 'isClassString' => false, )), ), @@ -17647,7 +19580,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -17699,7 +19632,7 @@ FROM ada' => )), ), ), - 'SELECT length(akid) as col from ak' => + 'SELECT lower(null) as field from ak' => array ( 'result' => array ( @@ -17710,7 +19643,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'col\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -17722,14 +19655,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17742,7 +19689,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -17753,10 +19700,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17766,7 +19741,7 @@ FROM ada' => )), ), ), - 'SELECT locate(\'foo\', eladaid, \'bar\') as field from ak' => + 'SELECT lower(upper(\'foobarbar\')) as field from ak' => array ( 'result' => array ( @@ -17804,7 +19779,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17842,7 +19817,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17859,7 +19834,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17875,42 +19850,42 @@ FROM ada' => )), ), ), - 'SELECT locate(akid, \'bar\') as field from ak' => + 'SELECT max(adaid) FROM ada' => array ( 'result' => array ( - 5 => + 3 => PHPStan\Type\Constant\ConstantArrayType::__set_state(array( 'keyType' => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'max(adaid)', + 'isClassString' => false, + )), + 'itemType' => PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => true, + 'sortedTypes' => false, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', ), 'types' => array ( 0 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'field', - 'isClassString' => false, + PHPStan\Type\NullType::__set_state(array( )), ), - 'normalized' => false, - )), - 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => array ( - 0 => 1, + 0 => 0, ), 'keyTypes' => array ( @@ -17918,21 +19893,30 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max(adaid)', 'isClassString' => false, )), - 1 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), ), 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( - )), - 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17942,7 +19926,7 @@ FROM ada' => )), ), ), - 'SELECT locate(eladaid, \'bar\') as field from ak' => + 'SELECT max(eladaid) as max from ak' => array ( 'result' => array ( @@ -17953,7 +19937,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -17965,7 +19949,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -17980,7 +19964,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17999,7 +19985,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -18018,7 +20004,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18035,7 +20023,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18051,7 +20041,7 @@ FROM ada' => )), ), ), - 'SELECT lower(\'FOO\') as field from ak' => + 'SELECT max(email) as max from ada' => array ( 'result' => array ( @@ -18062,7 +20052,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -18074,7 +20064,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -18108,7 +20098,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -18160,7 +20150,7 @@ FROM ada' => )), ), ), - 'SELECT lower(\'foobarbar\') as field from ak' => + 'SELECT max(freigabe1u1) as max from ada' => array ( 'result' => array ( @@ -18171,7 +20161,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -18183,7 +20173,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -18198,7 +20188,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18217,7 +20209,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -18236,7 +20228,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18253,7 +20247,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18269,7 +20265,7 @@ FROM ada' => )), ), ), - 'SELECT lower(c_varbinary25) as field from typemix' => + 'SELECT max(gesperrt) as max from ada' => array ( 'result' => array ( @@ -18280,7 +20276,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -18292,7 +20288,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -18307,7 +20303,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18326,7 +20324,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -18345,7 +20343,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18362,7 +20362,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18378,7 +20380,7 @@ FROM ada' => )), ), ), - 'SELECT lower(c_varbinary255) as field from typemix' => + 'SELECT max(ifnull(email, adaid)) as max from ada' => array ( 'result' => array ( @@ -18389,7 +20391,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -18401,7 +20403,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -18435,7 +20437,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -18487,7 +20489,7 @@ FROM ada' => )), ), ), - 'SELECT lower(concat(akid, 5000)) as col from ak' => + 'SELECT max(null) as max from ada' => array ( 'result' => array ( @@ -18498,7 +20500,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'col\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -18510,28 +20512,16 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'max', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -18544,7 +20534,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -18555,38 +20545,14 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 1 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), ), 'optionalKeys' => @@ -18596,7 +20562,7 @@ FROM ada' => )), ), ), - 'SELECT lower(null) as field from ak' => + 'SELECT min(eladaid) as min from ak' => array ( 'result' => array ( @@ -18607,7 +20573,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -18619,7 +20585,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'min', 'isClassString' => false, )), ), @@ -18634,7 +20600,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18653,7 +20621,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -18672,7 +20640,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18689,7 +20659,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18705,7 +20677,7 @@ FROM ada' => )), ), ), - 'SELECT lower(upper(\'foobarbar\')) as field from ak' => + 'SELECT min(email) as min from ada' => array ( 'result' => array ( @@ -18716,7 +20688,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -18728,7 +20700,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'min', 'isClassString' => false, )), ), @@ -18762,7 +20734,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -18814,18 +20786,34 @@ FROM ada' => )), ), ), - 'SELECT max(adaid) FROM ada' => + 'SELECT min(freigabe1u1) as min from ada' => array ( 'result' => array ( - 3 => + 5 => PHPStan\Type\Constant\ConstantArrayType::__set_state(array( 'keyType' => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'max(adaid)', - 'isClassString' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'min\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'min', + 'isClassString' => false, + )), + ), + 'normalized' => false, )), 'itemType' => PHPStan\Type\UnionType::__set_state(array( @@ -18849,7 +20837,7 @@ FROM ada' => 'allArrays' => NULL, 'nextAutoIndexes' => array ( - 0 => 0, + 0 => 1, ), 'keyTypes' => array ( @@ -18857,9 +20845,13 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max(adaid)', + 'value' => 'min', 'isClassString' => false, )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), ), 'valueTypes' => array ( @@ -18882,6 +20874,25 @@ FROM ada' => ), 'normalized' => true, )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), ), 'optionalKeys' => array ( @@ -18890,7 +20901,7 @@ FROM ada' => )), ), ), - 'SELECT max(eladaid) as max from ak' => + 'SELECT min(gesperrt) as min from ada' => array ( 'result' => array ( @@ -18901,7 +20912,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -18913,7 +20924,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), ), @@ -18929,8 +20940,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18949,7 +20960,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -18969,8 +20980,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18988,8 +20999,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19005,7 +21016,7 @@ FROM ada' => )), ), ), - 'SELECT max(email) as max from ada' => + 'SELECT min(ifnull(email, adaid)) as min from ada' => array ( 'result' => array ( @@ -19016,7 +21027,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -19028,7 +21039,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), ), @@ -19062,7 +21073,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -19114,7 +21125,7 @@ FROM ada' => )), ), ), - 'SELECT max(freigabe1u1) as max from ada' => + 'SELECT min(null) as min from ada' => array ( 'result' => array ( @@ -19125,7 +21136,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -19137,30 +21148,16 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -19173,7 +21170,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -19184,42 +21181,14 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 1 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), ), 'optionalKeys' => @@ -19229,7 +21198,7 @@ FROM ada' => )), ), ), - 'SELECT max(gesperrt) as max from ada' => + 'SELECT nullif(2, 2) as col' => array ( 'result' => array ( @@ -19240,7 +21209,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -19252,7 +21221,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), ), @@ -19267,9 +21236,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -128, - 'max' => 127, + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19288,7 +21255,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -19307,9 +21274,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -128, - 'max' => 127, + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19326,9 +21291,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -128, - 'max' => 127, + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19344,7 +21307,7 @@ FROM ada' => )), ), ), - 'SELECT max(ifnull(email, adaid)) as max from ada' => + 'SELECT nullif(2, 3) as col' => array ( 'result' => array ( @@ -19355,7 +21318,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -19367,7 +21330,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), ), @@ -19382,7 +21345,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19401,7 +21364,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -19420,7 +21383,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19437,7 +21400,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19453,80 +21416,7 @@ FROM ada' => )), ), ), - 'SELECT max(null) as max from ada' => - array ( - 'result' => - array ( - 5 => - PHPStan\Type\Constant\ConstantArrayType::__set_state(array( - 'keyType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => true, - 'cachedDescriptions' => - array ( - 2 => '0|\'max\'', - ), - 'types' => - array ( - 0 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), - 1 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'max', - 'isClassString' => false, - )), - ), - 'normalized' => false, - )), - 'itemType' => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, - )), - 'allArrays' => NULL, - 'nextAutoIndexes' => - array ( - 0 => 1, - ), - 'keyTypes' => - array ( - 0 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'max', - 'isClassString' => false, - )), - 1 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), - ), - 'valueTypes' => - array ( - 0 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, - )), - 1 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, - )), - ), - 'optionalKeys' => - array ( - ), - 'isList' => false, - )), - ), - ), - 'SELECT min(eladaid) as min from ak' => + 'SELECT nullif(c_smallint, c_tinyint) as col from typemix' => array ( 'result' => array ( @@ -19537,7 +21427,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -19549,7 +21439,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -19565,8 +21455,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19585,7 +21475,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -19605,8 +21495,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19624,8 +21514,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19641,7 +21531,7 @@ FROM ada' => )), ), ), - 'SELECT min(email) as min from ada' => + 'SELECT nullif(c_tinyint, "default") as col from typemix' => array ( 'result' => array ( @@ -19652,7 +21542,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -19664,7 +21554,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -19679,7 +21569,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19698,7 +21590,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -19717,7 +21609,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19734,7 +21628,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19750,7 +21646,7 @@ FROM ada' => )), ), ), - 'SELECT min(freigabe1u1) as min from ada' => + 'SELECT nullif(c_tinyint, 3) as col from typemix' => array ( 'result' => array ( @@ -19761,7 +21657,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -19773,7 +21669,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -19789,8 +21685,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19809,7 +21705,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -19829,8 +21725,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19848,8 +21744,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -19865,7 +21761,7 @@ FROM ada' => )), ), ), - 'SELECT min(gesperrt) as min from ada' => + 'SELECT nullif(c_tinyint, 5000) as col from typemix' => array ( 'result' => array ( @@ -19876,7 +21772,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -19888,7 +21784,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -19924,7 +21820,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -19980,7 +21876,7 @@ FROM ada' => )), ), ), - 'SELECT min(ifnull(email, adaid)) as min from ada' => + 'SELECT nullif(c_tinyint, c_smallint) as col from typemix' => array ( 'result' => array ( @@ -19991,7 +21887,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -20003,7 +21899,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -20018,7 +21914,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -20037,7 +21935,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -20056,7 +21954,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -20073,7 +21973,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -20089,7 +21991,7 @@ FROM ada' => )), ), ), - 'SELECT min(null) as min from ada' => + 'SELECT nullif(c_tinyint, c_tinyint) as col from typemix' => array ( 'result' => array ( @@ -20100,7 +22002,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -20112,16 +22014,30 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -20134,7 +22050,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -20145,14 +22061,42 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => diff --git a/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache index e8e1b2b52..a1704eb7b 100644 --- a/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -438,7 +438,7 @@ 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', + 2 => '\'c_bigint\'|\'c_bit\'|\'c_blob\'|\'c_boolean\'|\'c_char5\'|\'c_date\'|\'c_datetime\'|\'c_decimal\'|\'c_decimal_not_null\'|\'c_double\'|\'c_enum\'|\'c_float\'|\'c_int\'|\'c_json\'|\'c_json_not_null\'|\'c_long_text\'|\'c_longblob\'|\'c_medium_text\'|\'c_mediumblog\'|\'c_mediumint\'|\'c_nullable_tinyint\'|\'c_real\'|\'c_set\'|\'c_smallint\'|\'c_text\'|\'c_time\'|\'c_timestamp\'|\'c_tiny_text\'|\'c_tinyblob\'|\'c_tinyint\'|\'c_unsigned_bigint\'|\'c_unsigned_int\'|\'c_unsigned_mediumint\'|\'c_unsigned_smallint\'|\'c_unsigned_tinyint\'|\'c_varbinary25\'|\'c_varbinary255\'|\'c_varchar25\'|\'c_varchar255\'|\'c_year\'|\'pid\'', ), 'types' => array ( @@ -586,136 +586,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_set', + 'value' => 'c_real', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_set', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_text', + 'value' => 'c_smallint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_time', + 'value' => 'c_text', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_timestamp', + 'value' => 'c_time', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tiny_text', + 'value' => 'c_timestamp', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_tiny_text', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyint', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_tinyint', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary25', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varbinary255', + 'value' => 'c_varbinary25', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar25', + 'value' => 'c_varbinary255', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_varchar255', + 'value' => 'c_varchar25', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_year', + 'value' => 'c_varchar255', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_year', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -899,136 +906,143 @@ PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_smallint', + 'value' => 'c_nullable_tinyint', 'isClassString' => false, )), 21 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumint', + 'value' => 'c_smallint', 'isClassString' => false, )), 22 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_bigint', + 'value' => 'c_mediumint', 'isClassString' => false, )), 23 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_double', + 'value' => 'c_bigint', 'isClassString' => false, )), 24 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_real', + 'value' => 'c_double', 'isClassString' => false, )), 25 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_float', + 'value' => 'c_real', 'isClassString' => false, )), 26 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_boolean', + 'value' => 'c_float', 'isClassString' => false, )), 27 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_blob', + 'value' => 'c_boolean', 'isClassString' => false, )), 28 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_tinyblob', + 'value' => 'c_blob', 'isClassString' => false, )), 29 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_mediumblog', + 'value' => 'c_tinyblob', 'isClassString' => false, )), 30 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_longblob', + 'value' => 'c_mediumblog', 'isClassString' => false, )), 31 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_tinyint', + 'value' => 'c_longblob', 'isClassString' => false, )), 32 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_int', + 'value' => 'c_unsigned_tinyint', 'isClassString' => false, )), 33 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_smallint', + 'value' => 'c_unsigned_int', 'isClassString' => false, )), 34 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_mediumint', + 'value' => 'c_unsigned_smallint', 'isClassString' => false, )), 35 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_unsigned_bigint', + 'value' => 'c_unsigned_mediumint', 'isClassString' => false, )), 36 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json', + 'value' => 'c_unsigned_bigint', 'isClassString' => false, )), 37 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_json_not_null', + 'value' => 'c_json', 'isClassString' => false, )), 38 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'c_decimal', + 'value' => 'c_json_not_null', 'isClassString' => false, )), 39 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'c_decimal', + 'isClassString' => false, + )), + 40 => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, @@ -1275,20 +1289,36 @@ 'max' => 127, )), 20 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 21 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -32768, 'max' => 32767, )), - 21 => + 22 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -8388608, 'max' => 8388607, )), - 22 => - PHPStan\Type\IntegerType::__set_state(array( - )), 23 => - PHPStan\Type\FloatType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 24 => PHPStan\Type\FloatType::__set_state(array( @@ -1297,13 +1327,13 @@ PHPStan\Type\FloatType::__set_state(array( )), 26 => + PHPStan\Type\FloatType::__set_state(array( + )), + 27 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => -128, 'max' => 127, )), - 27 => - PHPStan\Type\StringType::__set_state(array( - )), 28 => PHPStan\Type\StringType::__set_state(array( )), @@ -1314,31 +1344,34 @@ PHPStan\Type\StringType::__set_state(array( )), 31 => + PHPStan\Type\StringType::__set_state(array( + )), + 32 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 255, )), - 32 => + 33 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 4294967295, )), - 33 => + 34 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 65535, )), - 34 => + 35 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => 16777215, )), - 35 => + 36 => PHPStan\Type\IntegerRangeType::__set_state(array( 'min' => 0, 'max' => NULL, )), - 36 => + 37 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -1355,10 +1388,10 @@ ), 'normalized' => true, )), - 37 => + 38 => PHPStan\Type\StringType::__set_state(array( )), - 38 => + 39 => PHPStan\Type\UnionType::__set_state(array( 'sortedTypes' => false, 'cachedDescriptions' => @@ -1385,7 +1418,7 @@ ), 'normalized' => true, )), - 39 => + 40 => PHPStan\Type\IntersectionType::__set_state(array( 'sortedTypes' => true, 'types' => @@ -14999,74 +15032,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, "default") as col from ada' => - array ( - 'result' => - array ( - 5 => - PHPStan\Type\Constant\ConstantArrayType::__set_state(array( - 'keyType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => true, - 'cachedDescriptions' => - array ( - 2 => '0|\'col\'', - ), - 'types' => - array ( - 0 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), - 1 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'col', - 'isClassString' => false, - )), - ), - 'normalized' => false, - )), - 'itemType' => - PHPStan\Type\StringType::__set_state(array( - )), - 'allArrays' => NULL, - 'nextAutoIndexes' => - array ( - 0 => 1, - ), - 'keyTypes' => - array ( - 0 => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'col', - 'isClassString' => false, - )), - 1 => - PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( - 'value' => 0, - )), - ), - 'valueTypes' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\StringType::__set_state(array( - )), - ), - 'optionalKeys' => - array ( - ), - 'isList' => false, - )), - ), - ), - 'SELECT ifnull(freigabe1u1, 123.23) as col from ada' => + 'SELECT ifnull(123.23, c_int) as col from typemix' => array ( 'result' => array ( @@ -15163,7 +15129,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, 5000) as col from ada' => + 'SELECT ifnull(c_float, 123.23) as col from typemix' => array ( 'result' => array ( @@ -15193,7 +15159,7 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\FloatType::__set_state(array( )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15217,10 +15183,10 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\FloatType::__set_state(array( )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\FloatType::__set_state(array( )), ), 'optionalKeys' => @@ -15230,7 +15196,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, freigabe1u1) as col from ada' => + 'SELECT ifnull(c_int, "default") as col from typemix' => array ( 'result' => array ( @@ -15260,9 +15226,7 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15286,14 +15250,10 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), 1 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), ), 'optionalKeys' => @@ -15303,7 +15263,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(freigabe1u1, gesperrt) as col from ada' => + 'SELECT ifnull(c_int, 123.23) as col from typemix' => array ( 'result' => array ( @@ -15333,9 +15293,17 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15359,15 +15327,1642 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), )), 1 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_int, c_float) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\FloatType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\FloatType::__set_state(array( + )), + 1 => + PHPStan\Type\FloatType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, "default") as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\StringType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\StringType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, 5000) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, c_nullable_tinyint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_nullable_tinyint, c_smallint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_smallint, c_smallint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_smallint, c_tinyint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(c_tinyint, c_smallint) as col from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, "default") as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\StringType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\StringType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, 123.23) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + 1 => + PHPStan\Type\IntersectionType::__set_state(array( + 'sortedTypes' => false, + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\Accessory\AccessoryNumericStringType::__set_state(array( + )), + ), + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, 5000) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, freigabe1u1) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(freigabe1u1, gesperrt) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(gesperrt, freigabe1u1) as col from ada' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT ifnull(null, "default") as col' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'col\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\StringType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'col', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\StringType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT instr(\'foobarbar\', \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT instr(akid, \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT instr(eladaid, \'bar\') as field from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT isnull(akid) as n1 from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'n1\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT isnull(eladaid) as n1 from ak' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'n1\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\IntegerType::__set_state(array( + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'n1', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\IntegerType::__set_state(array( + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT lcase(c_varbinary255) as field from typemix' => + array ( + 'result' => + array ( + 5 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'field\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + ), + 'normalized' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 1, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'field', + 'isClassString' => false, + )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), ), 'optionalKeys' => array ( @@ -15376,7 +16971,7 @@ FROM ada' => )), ), ), - 'SELECT ifnull(gesperrt, freigabe1u1) as col from ada' => + 'SELECT length(akid) as col from ak' => array ( 'result' => array ( @@ -15406,9 +17001,7 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntegerType::__set_state(array( )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15432,14 +17025,10 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntegerType::__set_state(array( )), 1 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\IntegerType::__set_state(array( )), ), 'optionalKeys' => @@ -15449,7 +17038,7 @@ FROM ada' => )), ), ), - 'SELECT instr(\'foobarbar\', \'bar\') as field from ak' => + 'SELECT locate(\'foo\', eladaid, \'bar\') as field from ak' => array ( 'result' => array ( @@ -15479,7 +17068,21 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15503,10 +17106,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -15516,7 +17147,7 @@ FROM ada' => )), ), ), - 'SELECT instr(akid, \'bar\') as field from ak' => + 'SELECT locate(akid, \'bar\') as field from ak' => array ( 'result' => array ( @@ -15583,7 +17214,7 @@ FROM ada' => )), ), ), - 'SELECT instr(eladaid, \'bar\') as field from ak' => + 'SELECT locate(eladaid, \'bar\') as field from ak' => array ( 'result' => array ( @@ -15692,7 +17323,7 @@ FROM ada' => )), ), ), - 'SELECT isnull(akid) as n1 from ak' => + 'SELECT lower(\'FOO\') as field from ak' => array ( 'result' => array ( @@ -15703,7 +17334,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'n1\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -15715,14 +17346,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15735,7 +17380,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -15746,10 +17391,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -15759,7 +17432,7 @@ FROM ada' => )), ), ), - 'SELECT isnull(eladaid) as n1 from ak' => + 'SELECT lower(\'foobarbar\') as field from ak' => array ( 'result' => array ( @@ -15770,7 +17443,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'n1\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -15782,14 +17455,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15802,7 +17489,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'n1', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -15813,10 +17500,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -15826,7 +17541,7 @@ FROM ada' => )), ), ), - 'SELECT lcase(c_varbinary255) as field from typemix' => + 'SELECT lower(c_varbinary25) as field from typemix' => array ( 'result' => array ( @@ -15935,7 +17650,7 @@ FROM ada' => )), ), ), - 'SELECT length(akid) as col from ak' => + 'SELECT lower(c_varbinary255) as field from typemix' => array ( 'result' => array ( @@ -15946,7 +17661,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'col\'', + 2 => '0|\'field\'', ), 'types' => array ( @@ -15958,14 +17673,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'field', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -15978,7 +17707,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'field', 'isClassString' => false, )), 1 => @@ -15989,10 +17718,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -16002,7 +17759,7 @@ FROM ada' => )), ), ), - 'SELECT locate(\'foo\', eladaid, \'bar\') as field from ak' => + 'SELECT lower(concat(akid, 5000)) as col from ak' => array ( 'result' => array ( @@ -16013,7 +17770,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -16025,7 +17782,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'col', 'isClassString' => false, )), ), @@ -16040,7 +17797,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16059,7 +17816,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -16078,7 +17835,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16095,7 +17852,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16111,7 +17868,7 @@ FROM ada' => )), ), ), - 'SELECT locate(akid, \'bar\') as field from ak' => + 'SELECT lower(null) as field from ak' => array ( 'result' => array ( @@ -16141,7 +17898,21 @@ FROM ada' => 'normalized' => false, )), 'itemType' => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -16165,10 +17936,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -16178,7 +17977,7 @@ FROM ada' => )), ), ), - 'SELECT locate(eladaid, \'bar\') as field from ak' => + 'SELECT lower(upper(\'foobarbar\')) as field from ak' => array ( 'result' => array ( @@ -16216,7 +18015,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16254,7 +18053,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16271,7 +18070,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerType::__set_state(array( + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16287,7 +18086,83 @@ FROM ada' => )), ), ), - 'SELECT lower(\'FOO\') as field from ak' => + 'SELECT max(adaid) FROM ada' => + array ( + 'result' => + array ( + 3 => + PHPStan\Type\Constant\ConstantArrayType::__set_state(array( + 'keyType' => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'max(adaid)', + 'isClassString' => false, + )), + 'itemType' => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 'allArrays' => NULL, + 'nextAutoIndexes' => + array ( + 0 => 0, + ), + 'keyTypes' => + array ( + 0 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'max(adaid)', + 'isClassString' => false, + )), + ), + 'valueTypes' => + array ( + 0 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + ), + 'optionalKeys' => + array ( + ), + 'isList' => false, + )), + ), + ), + 'SELECT max(eladaid) as max from ak' => array ( 'result' => array ( @@ -16298,7 +18173,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -16310,7 +18185,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -16325,7 +18200,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16344,7 +18221,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -16363,7 +18240,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16380,7 +18259,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16396,7 +18277,7 @@ FROM ada' => )), ), ), - 'SELECT lower(\'foobarbar\') as field from ak' => + 'SELECT max(email) as max from ada' => array ( 'result' => array ( @@ -16407,7 +18288,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -16419,7 +18300,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -16453,7 +18334,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -16505,7 +18386,7 @@ FROM ada' => )), ), ), - 'SELECT lower(c_varbinary25) as field from typemix' => + 'SELECT max(freigabe1u1) as max from ada' => array ( 'result' => array ( @@ -16516,7 +18397,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -16528,7 +18409,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -16543,7 +18424,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16562,7 +18445,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -16581,7 +18464,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16598,7 +18483,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16614,7 +18501,7 @@ FROM ada' => )), ), ), - 'SELECT lower(c_varbinary255) as field from typemix' => + 'SELECT max(ifnull(email, adaid)) as max from ada' => array ( 'result' => array ( @@ -16625,7 +18512,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -16637,7 +18524,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -16671,7 +18558,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -16723,7 +18610,7 @@ FROM ada' => )), ), ), - 'SELECT lower(concat(akid, 5000)) as col from ak' => + 'SELECT max(null) as max from ada' => array ( 'result' => array ( @@ -16734,7 +18621,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'col\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -16746,28 +18633,16 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'max', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -16780,7 +18655,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'col', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -16791,38 +18666,14 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 1 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\StringType::__set_state(array( - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), ), 'optionalKeys' => @@ -16832,7 +18683,7 @@ FROM ada' => )), ), ), - 'SELECT lower(null) as field from ak' => + 'SELECT max(pid) as max from typemix' => array ( 'result' => array ( @@ -16843,7 +18694,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'max\'', ), 'types' => array ( @@ -16855,7 +18706,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), ), @@ -16870,7 +18721,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16889,7 +18742,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'max', 'isClassString' => false, )), 1 => @@ -16908,7 +18761,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16925,7 +18780,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16941,7 +18798,7 @@ FROM ada' => )), ), ), - 'SELECT lower(upper(\'foobarbar\')) as field from ak' => + 'SELECT min(eladaid) as min from ak' => array ( 'result' => array ( @@ -16952,7 +18809,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'field\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -16964,7 +18821,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'min', 'isClassString' => false, )), ), @@ -16979,7 +18836,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -16998,7 +18857,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'field', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -17017,7 +18876,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17034,7 +18895,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -2147483648, + 'max' => 2147483647, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17050,18 +18913,34 @@ FROM ada' => )), ), ), - 'SELECT max(adaid) FROM ada' => + 'SELECT min(email) as min from ada' => array ( 'result' => array ( - 3 => + 5 => PHPStan\Type\Constant\ConstantArrayType::__set_state(array( 'keyType' => - PHPStan\Type\Constant\ConstantStringType::__set_state(array( - 'objectType' => NULL, - 'arrayKeyType' => NULL, - 'value' => 'max(adaid)', - 'isClassString' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => true, + 'cachedDescriptions' => + array ( + 2 => '0|\'min\'', + ), + 'types' => + array ( + 0 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), + 1 => + PHPStan\Type\Constant\ConstantStringType::__set_state(array( + 'objectType' => NULL, + 'arrayKeyType' => NULL, + 'value' => 'min', + 'isClassString' => false, + )), + ), + 'normalized' => false, )), 'itemType' => PHPStan\Type\UnionType::__set_state(array( @@ -17072,9 +18951,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17085,7 +18962,7 @@ FROM ada' => 'allArrays' => NULL, 'nextAutoIndexes' => array ( - 0 => 0, + 0 => 1, ), 'keyTypes' => array ( @@ -17093,9 +18970,13 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max(adaid)', + 'value' => 'min', 'isClassString' => false, )), + 1 => + PHPStan\Type\Constant\ConstantIntegerType::__set_state(array( + 'value' => 0, + )), ), 'valueTypes' => array ( @@ -17108,9 +18989,24 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + PHPStan\Type\StringType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, + )), + 1 => + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\StringType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17126,7 +19022,7 @@ FROM ada' => )), ), ), - 'SELECT max(eladaid) as max from ak' => + 'SELECT min(freigabe1u1) as min from ada' => array ( 'result' => array ( @@ -17137,7 +19033,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -17149,7 +19045,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), ), @@ -17165,8 +19061,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17185,7 +19081,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -17205,8 +19101,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17224,8 +19120,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17241,7 +19137,7 @@ FROM ada' => )), ), ), - 'SELECT max(email) as max from ada' => + 'SELECT min(ifnull(email, adaid)) as min from ada' => array ( 'result' => array ( @@ -17252,7 +19148,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -17264,7 +19160,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), ), @@ -17298,7 +19194,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -17350,7 +19246,7 @@ FROM ada' => )), ), ), - 'SELECT max(freigabe1u1) as max from ada' => + 'SELECT min(null) as min from ada' => array ( 'result' => array ( @@ -17361,7 +19257,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'min\'', ), 'types' => array ( @@ -17373,30 +19269,16 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17409,7 +19291,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'min', 'isClassString' => false, )), 1 => @@ -17420,42 +19302,14 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), 1 => - PHPStan\Type\UnionType::__set_state(array( - 'sortedTypes' => false, - 'cachedDescriptions' => - array ( - ), - 'types' => - array ( - 0 => - PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, - )), - 1 => - PHPStan\Type\NullType::__set_state(array( - )), - ), - 'normalized' => true, + PHPStan\Type\MixedType::__set_state(array( + 'subtractedType' => NULL, + 'isExplicitMixed' => false, )), ), 'optionalKeys' => @@ -17465,7 +19319,7 @@ FROM ada' => )), ), ), - 'SELECT max(ifnull(email, adaid)) as max from ada' => + 'SELECT nullif(2, 2) as col' => array ( 'result' => array ( @@ -17476,7 +19330,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -17488,7 +19342,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), ), @@ -17503,7 +19357,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17522,7 +19376,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -17541,7 +19395,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17558,7 +19412,7 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerType::__set_state(array( )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17574,7 +19428,7 @@ FROM ada' => )), ), ), - 'SELECT max(null) as max from ada' => + 'SELECT nullif(2, 3) as col' => array ( 'result' => array ( @@ -17585,7 +19439,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -17597,16 +19451,28 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -17619,7 +19485,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -17630,14 +19496,38 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerType::__set_state(array( + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => @@ -17647,7 +19537,7 @@ FROM ada' => )), ), ), - 'SELECT max(pid) as max from typemix' => + 'SELECT nullif(c_smallint, c_tinyint) as col from typemix' => array ( 'result' => array ( @@ -17658,7 +19548,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'max\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -17670,7 +19560,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), ), @@ -17686,8 +19576,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17706,7 +19596,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'max', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -17726,8 +19616,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17745,8 +19635,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -32768, + 'max' => 32767, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17762,7 +19652,7 @@ FROM ada' => )), ), ), - 'SELECT min(eladaid) as min from ak' => + 'SELECT nullif(c_tinyint, "default") as col from typemix' => array ( 'result' => array ( @@ -17773,7 +19663,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -17785,7 +19675,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -17801,8 +19691,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17821,7 +19711,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -17841,8 +19731,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17860,8 +19750,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -2147483648, - 'max' => 2147483647, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17877,7 +19767,7 @@ FROM ada' => )), ), ), - 'SELECT min(email) as min from ada' => + 'SELECT nullif(c_tinyint, 3) as col from typemix' => array ( 'result' => array ( @@ -17888,7 +19778,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -17900,7 +19790,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -17915,7 +19805,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17934,7 +19826,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -17953,7 +19845,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17970,7 +19864,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -17986,7 +19882,7 @@ FROM ada' => )), ), ), - 'SELECT min(freigabe1u1) as min from ada' => + 'SELECT nullif(c_tinyint, 5000) as col from typemix' => array ( 'result' => array ( @@ -17997,7 +19893,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -18009,7 +19905,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -18025,8 +19921,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18045,7 +19941,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -18065,8 +19961,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18084,8 +19980,8 @@ FROM ada' => array ( 0 => PHPStan\Type\IntegerRangeType::__set_state(array( - 'min' => -32768, - 'max' => 32767, + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18101,7 +19997,7 @@ FROM ada' => )), ), ), - 'SELECT min(ifnull(email, adaid)) as min from ada' => + 'SELECT nullif(c_tinyint, c_smallint) as col from typemix' => array ( 'result' => array ( @@ -18112,7 +20008,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -18124,7 +20020,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), @@ -18139,7 +20035,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18158,7 +20056,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -18177,7 +20075,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18194,7 +20094,9 @@ FROM ada' => 'types' => array ( 0 => - PHPStan\Type\StringType::__set_state(array( + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, )), 1 => PHPStan\Type\NullType::__set_state(array( @@ -18210,7 +20112,7 @@ FROM ada' => )), ), ), - 'SELECT min(null) as min from ada' => + 'SELECT nullif(c_tinyint, c_tinyint) as col from typemix' => array ( 'result' => array ( @@ -18221,7 +20123,7 @@ FROM ada' => 'sortedTypes' => true, 'cachedDescriptions' => array ( - 2 => '0|\'min\'', + 2 => '0|\'col\'', ), 'types' => array ( @@ -18233,16 +20135,30 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), ), 'normalized' => false, )), 'itemType' => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 'allArrays' => NULL, 'nextAutoIndexes' => @@ -18255,7 +20171,7 @@ FROM ada' => PHPStan\Type\Constant\ConstantStringType::__set_state(array( 'objectType' => NULL, 'arrayKeyType' => NULL, - 'value' => 'min', + 'value' => 'col', 'isClassString' => false, )), 1 => @@ -18266,14 +20182,42 @@ FROM ada' => 'valueTypes' => array ( 0 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), 1 => - PHPStan\Type\MixedType::__set_state(array( - 'subtractedType' => NULL, - 'isExplicitMixed' => false, + PHPStan\Type\UnionType::__set_state(array( + 'sortedTypes' => false, + 'cachedDescriptions' => + array ( + ), + 'types' => + array ( + 0 => + PHPStan\Type\IntegerRangeType::__set_state(array( + 'min' => -128, + 'max' => 127, + )), + 1 => + PHPStan\Type\NullType::__set_state(array( + )), + ), + 'normalized' => true, )), ), 'optionalKeys' => diff --git a/tests/sqlAst/data/sql-ast-narrowing.php b/tests/sqlAst/data/sql-ast-narrowing.php index 359727910..d50281485 100644 --- a/tests/sqlAst/data/sql-ast-narrowing.php +++ b/tests/sqlAst/data/sql-ast-narrowing.php @@ -46,44 +46,77 @@ public function coalesce(PDO $pdo): void public function ifnull(PDO $pdo): void { - $stmt = $pdo->query('SELECT ifnull(freigabe1u1, 5000) as col from ada'); - assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); + $stmt = $pdo->query('SELECT ifnull(null, "default") as col'); + assertType("PDOStatement", $stmt); + + $stmt = $pdo->query('SELECT ifnull(c_int, "default") as col from typemix'); + assertType("PDOStatement", $stmt); + + $stmt = $pdo->query('SELECT ifnull(c_nullable_tinyint, "default") as col from typemix'); + assertType("PDOStatement", $stmt); + + $stmt = $pdo->query('SELECT ifnull(c_nullable_tinyint, 5000) as col from typemix'); + assertType('PDOStatement, 0: 5000|int<-128, 127>}>', $stmt); + + $stmt = $pdo->query('SELECT ifnull(c_int, c_float) as col from typemix'); + assertType('PDOStatement', $stmt); - $stmt = $pdo->query('SELECT ifnull(freigabe1u1, 123.23) as col from ada'); - assertType('PDOStatement, 0: 123.23|int<-32768, 32767>}>', $stmt); + $stmt = $pdo->query('SELECT ifnull(c_float, 123.23) as col from typemix'); + assertType('PDOStatement', $stmt); - $stmt = $pdo->query('SELECT ifnull(freigabe1u1, "default") as col from ada'); - assertType("PDOStatement, 0: 'default'|int<-32768, 32767>}>", $stmt); + $stmt = $pdo->query('SELECT ifnull(c_int, 123.23) as col from typemix'); + assertType('PDOStatement', $stmt); - $stmt = $pdo->query('SELECT ifnull(freigabe1u1, freigabe1u1) as col from ada'); + $stmt = $pdo->query('SELECT ifnull(123.23, c_int) as col from typemix'); + assertType("PDOStatement", $stmt); + + $stmt = $pdo->query('SELECT ifnull(c_smallint, c_smallint) as col from typemix'); assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); - $stmt = $pdo->query('SELECT ifnull(freigabe1u1, gesperrt) as col from ada'); + $stmt = $pdo->query('SELECT ifnull(c_smallint, c_tinyint) as col from typemix'); assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); - $stmt = $pdo->query('SELECT ifnull(gesperrt, freigabe1u1) as col from ada'); + $stmt = $pdo->query('SELECT ifnull(c_tinyint, c_smallint) as col from typemix'); + assertType('PDOStatement, 0: int<-128, 127>}>', $stmt); + + $stmt = $pdo->query('SELECT ifnull(c_nullable_tinyint, c_smallint) as col from typemix'); assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); + $stmt = $pdo->query('SELECT ifnull(c_nullable_tinyint, c_nullable_tinyint) as col from typemix'); + assertType('PDOStatement|null, 0: int<-128, 127>|null}>', $stmt); + $stmt = $pdo->query('SELECT IFNULL(MAX(eladaid),0)+1 as priority from ak'); assertType('PDOStatement', $stmt); // could be more precise integer range } public function nullif(PDO $pdo): void { - $stmt = $pdo->query('SELECT nullif(freigabe1u1, 500000) as col from ada'); - assertType('PDOStatement, 0: 500000|int<-32768, 32767>}>', $stmt); + $stmt = $pdo->query('SELECT nullif(2, 2) as col'); + assertType('PDOStatement', $stmt); - $stmt = $pdo->query('SELECT nullif(freigabe1u1, "default") as col from ada'); - assertType("PDOStatement, 0: 'default'|int<-32768, 32767>}>", $stmt); + $stmt = $pdo->query('SELECT nullif(2, 3) as col'); + assertType('PDOStatement', $stmt); - $stmt = $pdo->query('SELECT nullif(freigabe1u1, freigabe1u1) as col from ada'); - assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); + // Test an integer range against a constant int inside the range + $stmt = $pdo->query('SELECT nullif(c_tinyint, 3) as col from typemix'); + assertType('PDOStatement|null, 0: int<-128, 127>|null}>', $stmt); - $stmt = $pdo->query('SELECT nullif(freigabe1u1, gesperrt) as col from ada'); - assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); + // Test an integer range against a constant int outside the range + $stmt = $pdo->query('SELECT nullif(c_tinyint, 5000) as col from typemix'); + assertType('PDOStatement, 0: int<-128, 127>}>', $stmt); - $stmt = $pdo->query('SELECT nullif(gesperrt, freigabe1u1) as col from ada'); - assertType('PDOStatement, 0: int<-32768, 32767>}>', $stmt); + // Test an integer range against a constant string + $stmt = $pdo->query('SELECT nullif(c_tinyint, "default") as col from typemix'); + assertType('PDOStatement, 0: int<-128, 127>}>', $stmt); + + $stmt = $pdo->query('SELECT nullif(c_tinyint, c_tinyint) as col from typemix'); + assertType('PDOStatement|null, 0: int<-128, 127>|null}>', $stmt); + + $stmt = $pdo->query('SELECT nullif(c_tinyint, c_smallint) as col from typemix'); + assertType('PDOStatement|null, 0: int<-128, 127>|null}>', $stmt); + + $stmt = $pdo->query('SELECT nullif(c_smallint, c_tinyint) as col from typemix'); + assertType('PDOStatement|null, 0: int<-32768, 32767>|null}>', $stmt); } public function if(PDO $pdo): void @@ -246,7 +279,7 @@ public function avg(PDO $pdo): void assertType('PDOStatement', $stmt); $stmt = $pdo->query('SELECT avg(ifnull(email, adaid)) as avg from ada'); - assertType('PDOStatement', $stmt); + assertType('PDOStatement', $stmt); $stmt = $pdo->query('SELECT avg(null) as avg from ada'); assertType('PDOStatement', $stmt); @@ -270,9 +303,9 @@ public function minMax(PDO $pdo): void assertType('PDOStatement', $stmt); $stmt = $pdo->query('SELECT min(ifnull(email, adaid)) as min from ada'); - assertType('PDOStatement|string|null, 0: int<-32768, 32767>|string|null}>', $stmt); + assertType('PDOStatement', $stmt); $stmt = $pdo->query('SELECT max(ifnull(email, adaid)) as max from ada'); - assertType('PDOStatement|string|null, 0: int<-32768, 32767>|string|null}>', $stmt); + assertType('PDOStatement', $stmt); $stmt = $pdo->query('SELECT min(null) as min from ada'); assertType('PDOStatement', $stmt);