diff --git a/src/QueryReflection/RecordingQueryReflector.php b/src/QueryReflection/RecordingQueryReflector.php index 3fb57bf7b..79320cce7 100644 --- a/src/QueryReflection/RecordingQueryReflector.php +++ b/src/QueryReflection/RecordingQueryReflector.php @@ -44,10 +44,6 @@ public function validateQueryString(string $queryString): ?Error public function getResultType(string $queryString, int $fetchType): ?Type { - // built the query string cache, also on result-type checking, to make sure the cachefile contains all required information. - // result-type checking is triggered by phpstan analysis via our phpstan-extensions, while the query-validation isn't. - $this->validateQueryString($queryString); - $resultType = $this->reflector->getResultType($queryString, $fetchType); $this->reflectionCache->putResultType( diff --git a/tests/default/config/.phpstan-dba.cache b/tests/default/config/.phpstan-dba.cache index 6be2840f1..3064301e7 100644 --- a/tests/default/config/.phpstan-dba.cache +++ b/tests/default/config/.phpstan-dba.cache @@ -4,31 +4,27 @@ array ( 'SELECT * FROM ada GROUP BY doesNotExist' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Unknown column \'doesNotExist\' in \'group statement\'', - 'code' => 1054, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT * FROM ada ORDER BY doesNotExist' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Unknown column \'doesNotExist\' in \'order clause\'', - 'code' => 1054, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT * FROM ada WHERE doesNotExist=1' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Unknown column \'doesNotExist\' in \'where clause\'', - 'code' => 1054, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT * FROM typemix' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1174,15 +1170,13 @@ ), 'SELECT * FROM unknownTable' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Table \'phpstan_dba.unknownTable\' doesn\'t exist', - 'code' => 1146, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT MAX(adaid), MIN(adaid), COUNT(adaid), AVG(adaid) FROM ada WHERE adaid = 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1382,7 +1376,6 @@ ), 'SELECT a.email, b.adaid, b.gesperrt FROM ada a LEFT JOIN ada b ON a.adaid=b.adaid' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1542,7 +1535,6 @@ ), 'SELECT adaid FROM ada LIMIT 1 FOR SHARE' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1602,7 +1594,6 @@ ), 'SELECT adaid FROM ada LIMIT 1 OFFSET 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1662,7 +1653,6 @@ ), 'SELECT adaid FROM ada LIMIT 1 OFFSET 1 FOR UPDATE' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1722,7 +1712,6 @@ ), 'SELECT adaid FROM ada WHERE adaid IN (\'1\')' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1782,7 +1771,6 @@ ), 'SELECT adaid FROM ada WHERE adaid IN (\'1\') AND email LIKE \'1970-01-01\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1842,7 +1830,6 @@ ), 'SELECT adaid FROM ada WHERE adaid IN (\'1.0\')' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1938,7 +1925,6 @@ ), 'SELECT adaid FROM ada WHERE adaid IN (NULL) AND email LIKE \'1970-01-01\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1998,7 +1984,6 @@ ), 'SELECT adaid FROM ada WHERE email LIKE ":gesperrt%"' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2058,7 +2043,6 @@ ), 'SELECT adaid FROM ada WHERE email LIKE "hello?%"' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2118,7 +2102,6 @@ ), 'SELECT adaid FROM ada WHERE email LIKE \'%questions ?%\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2178,7 +2161,6 @@ ), 'SELECT adaid FROM ada WHERE email LIKE \':gesperrt%\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2238,7 +2220,6 @@ ), 'SELECT adaid FROM ada WHERE email=\'1970-01-01\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2310,7 +2291,6 @@ ), 'SELECT akid FROM ak WHERE eadavk>1.0' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2370,7 +2350,6 @@ ), 'SELECT akid FROM ak WHERE eadavk>1.1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2430,7 +2409,6 @@ ), 'SELECT count(*) FROM typemix WHERE c_date = \'1970-01-01\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2484,7 +2462,6 @@ ), 'SELECT count(*) FROM typemix WHERE c_datetime = \'1970-01-01\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2538,15 +2515,13 @@ ), 'SELECT doesNotExist, adaid, gesperrt, freigabe1u1 FROM ada' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Unknown column \'doesNotExist\' in \'field list\'', - 'code' => 1054, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT eladaid FROM ak' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2645,7 +2620,6 @@ ), 'SELECT email FROM ada WHERE gesperrt=NULL' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2725,7 +2699,6 @@ ), 'SELECT email, adaid FROM ada' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2818,15 +2791,13 @@ ), 'SELECT email, adaid FROM ada GROUP BY xy LIMIT 1' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Unknown column \'xy\' in \'group statement\'', - 'code' => 1054, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT email, adaid FROM ada WHERE adaid = \'1\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2919,7 +2890,6 @@ ), 'SELECT email, adaid FROM ada WHERE adaid = \'1\' and email = \'email@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3096,7 +3066,6 @@ ), 'SELECT email, adaid FROM ada WHERE adaid=1' => array ( - 'error' => NULL, 'result' => array ( 3 => @@ -3251,7 +3220,6 @@ ), 'SELECT email, adaid FROM ada WHERE email <=> \'\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3356,7 +3324,6 @@ ), 'SELECT email, adaid FROM ada WHERE email = \'email@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3449,7 +3416,6 @@ ), 'SELECT email, adaid FROM ada WHERE email = \'test@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3552,6 +3518,13 @@ 5 => NULL, ), ), + 'SELECT email, adaid FROM ada WHERE email = :test1 AND email = :test2' => + array ( + 'result' => + array ( + 5 => NULL, + ), + ), 'SELECT email, adaid FROM ada WHERE email = ?' => array ( 'error' => @@ -3566,15 +3539,13 @@ ), 'SELECT email, adaid GROUP BY xy FROM ada LIMIT 1' => array ( - 'error' => - staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL/MariaDB server version for the right syntax to use near \'FROM ada LIMIT 0\' at line 1', - 'code' => 1064, - )), + 'result' => + array ( + 5 => NULL, + ), ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3899,7 +3870,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4048,7 +4018,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4197,7 +4166,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1, 10' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4346,7 +4314,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = \'1\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4495,7 +4462,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4656,7 +4622,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid IN(1,3)' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4805,7 +4770,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid=1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4966,7 +4930,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email = \'1970-01-01\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5115,7 +5078,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email = \'test@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5264,7 +5226,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email=\'foo\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5413,7 +5374,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE gesperrt = \'1\'' => array ( - 'error' => NULL, 'result' => array ( 5 => diff --git a/tests/default/config/.phpunit-phpstan-dba.cache b/tests/default/config/.phpunit-phpstan-dba.cache index 1c4e55a66..4f7f19bbd 100644 --- a/tests/default/config/.phpunit-phpstan-dba.cache +++ b/tests/default/config/.phpunit-phpstan-dba.cache @@ -266,7 +266,6 @@ ), 'SELECT * FROM typemix' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1420,7 +1419,6 @@ ), 'SELECT MAX(adaid), MIN(adaid), COUNT(adaid), AVG(adaid) FROM ada WHERE adaid = 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1620,7 +1618,6 @@ ), 'SELECT a.email, b.adaid, b.gesperrt FROM ada a LEFT JOIN ada b ON a.adaid=b.adaid' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1780,7 +1777,6 @@ ), 'SELECT adaid FROM ada LIMIT 1 FOR SHARE' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1840,7 +1836,6 @@ ), 'SELECT adaid FROM ada LIMIT 1 OFFSET 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1900,7 +1895,6 @@ ), 'SELECT adaid FROM ada LIMIT 1 OFFSET 1 FOR UPDATE' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -1960,7 +1954,6 @@ ), 'SELECT adaid FROM ada WHERE adaid IN (\'1\')' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2198,7 +2191,6 @@ ), 'SELECT adaid FROM ada WHERE adaid IN (\'1.0\')' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2496,7 +2488,6 @@ ), 'SELECT adaid FROM ada WHERE email LIKE ":gesperrt%"' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2553,10 +2544,10 @@ )), )), ), + 'error' => NULL, ), 'SELECT adaid FROM ada WHERE email LIKE "hello?%"' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2613,10 +2604,10 @@ )), )), ), + 'error' => NULL, ), 'SELECT adaid FROM ada WHERE email LIKE \'%questions ?%\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2673,10 +2664,10 @@ )), )), ), + 'error' => NULL, ), 'SELECT adaid FROM ada WHERE email LIKE \':gesperrt%\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2733,6 +2724,7 @@ )), )), ), + 'error' => NULL, ), 'SELECT adaid FROM ada WHERE email LIKE \'some strange string - :gesperrt it is\'' => array ( @@ -2740,7 +2732,6 @@ ), 'SELECT akid FROM ak WHERE eadavk>1.0' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -2800,7 +2791,6 @@ ), 'SELECT akid FROM ak WHERE eadavk>1.1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3098,7 +3088,6 @@ ), 'SELECT eladaid FROM ak' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3205,7 +3194,6 @@ ), 'SELECT email, adaid FROM ada' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3306,7 +3294,6 @@ ), 'SELECT email, adaid FROM ada WHERE adaid = \'1\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3399,7 +3386,6 @@ ), 'SELECT email, adaid FROM ada WHERE adaid = \'1\' and email = \'email@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3528,7 +3514,6 @@ ), 'SELECT email, adaid FROM ada WHERE adaid=1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3683,7 +3668,6 @@ ), 'SELECT email, adaid FROM ada WHERE email <=> \'\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3788,7 +3772,6 @@ ), 'SELECT email, adaid FROM ada WHERE email = \'email@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3881,7 +3864,6 @@ ), 'SELECT email, adaid FROM ada WHERE email = \'test@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -3984,6 +3966,13 @@ 5 => NULL, ), ), + 'SELECT email, adaid FROM ada WHERE email = :test1 AND email = :test2' => + array ( + 'result' => + array ( + 5 => NULL, + ), + ), 'SELECT email, adaid FROM ada WHERE email = ?' => array ( 'error' => @@ -4010,7 +3999,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4248,6 +4236,7 @@ )), )), ), + 'error' => NULL, ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE (gesperrt=\'1\' AND freigabe1u1=1) OR (gesperrt=\'1\' AND freigabe1u1=0)' => @@ -4265,7 +4254,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4414,7 +4402,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1, 10' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4563,7 +4550,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = \'1\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -4712,7 +4698,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = 1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5021,7 +5006,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid=1' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5631,7 +5615,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email = \'test@example.org\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5780,7 +5763,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email=\'foo\'' => array ( - 'error' => NULL, 'result' => array ( 5 => @@ -5929,7 +5911,6 @@ ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE gesperrt = \'1\'' => array ( - 'error' => NULL, 'result' => array ( 5 =>