diff --git a/.phpstan-dba-mysqli.cache b/.phpstan-dba-mysqli.cache index 201a53bed..862d82368 100644 --- a/.phpstan-dba-mysqli.cache +++ b/.phpstan-dba-mysqli.cache @@ -1,6 +1,6 @@ 'v12-new-cache5', - 'schemaHash' => 'f94fe2b38e193ad685009d3f4942f476', + 'schemaVersion' => 'v13-valid-query', + 'schemaHash' => NULL, 'records' => array ( 'SELECT @@ -42,6 +42,9 @@ GROUP BY grouper' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -54,66 +57,6 @@ ), ), ), - 'SELECT * FROM ada' => - array ( - 'result' => - array ( - 3 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, gesperrt: int<-128, 127>, email: string, freigabe1u1: int<-32768, 32767>}', - ), - ), - ), - 'SELECT adaid FROM ada WHERE adaid IN (\'1\')' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), - 'SELECT adaid FROM ada WHERE adaid IN (\'1\') AND email LIKE \'1970-01-01\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), - 'SELECT adaid FROM ada WHERE adaid IN (\'1.0\')' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), - 'SELECT adaid FROM ada WHERE email LIKE \'%questions ?%\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), - 'SELECT adaid FROM ada WHERE email LIKE \'hello?%\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), 'SELECT column_name, column_default, is_nullable FROM information_schema.columns WHERE table_name = \'1970-01-01\'' => @@ -122,57 +65,7 @@ array ( 5 => array ( - 'type-description' => 'array{COLUMN_NAME: string|null, 0: string|null, COLUMN_DEFAULT: string|null, 1: string|null, IS_NULLABLE: string, 2: string}', - ), - ), - ), - 'SELECT email, adaid FROM ada' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', - ), - ), - ), - 'SELECT email, adaid FROM ada WHERE adaid = \'1\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', - ), - ), - ), - 'SELECT email, adaid FROM ada WHERE adaid=1' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', - ), - ), - ), - 'SELECT email, adaid FROM ada WHERE email = \'test@example.org\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', - ), - ), - ), - 'SELECT email, adaid FROM ada WHERE email=\'test@example.org\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', + 'type-description' => 'array{COLUMN_NAME: string, 0: string, COLUMN_DEFAULT: string|null, 1: string|null, IS_NULLABLE: string, 2: string}', ), ), ), diff --git a/.phpstan-dba-pdo-mysql.cache b/.phpstan-dba-pdo-mysql.cache index 7c82ddc1d..862d82368 100644 --- a/.phpstan-dba-pdo-mysql.cache +++ b/.phpstan-dba-pdo-mysql.cache @@ -1,6 +1,6 @@ 'v12-new-cache5', - 'schemaHash' => 'f94fe2b38e193ad685009d3f4942f476', + 'schemaVersion' => 'v13-valid-query', + 'schemaHash' => NULL, 'records' => array ( 'SELECT @@ -42,6 +42,9 @@ GROUP BY grouper' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -62,7 +65,7 @@ array ( 5 => array ( - 'type-description' => 'array{COLUMN_NAME: string|null, 0: string|null, COLUMN_DEFAULT: string|null, 1: string|null, IS_NULLABLE: string, 2: string}', + 'type-description' => 'array{COLUMN_NAME: string, 0: string, COLUMN_DEFAULT: string|null, 1: string|null, IS_NULLABLE: string, 2: string}', ), ), ), diff --git a/src/QueryReflection/RecordingQueryReflector.php b/src/QueryReflection/RecordingQueryReflector.php index 4ff9ea4b5..379db9131 100644 --- a/src/QueryReflection/RecordingQueryReflector.php +++ b/src/QueryReflection/RecordingQueryReflector.php @@ -33,6 +33,10 @@ public function validateQueryString(string $queryString): ?Error $queryString, $error ); + } else { + $this->reflectionCache->putValidationSuccess( + $queryString, + ); } return $error; diff --git a/src/QueryReflection/ReflectionCache.php b/src/QueryReflection/ReflectionCache.php index 3b35b46b3..55989406d 100644 --- a/src/QueryReflection/ReflectionCache.php +++ b/src/QueryReflection/ReflectionCache.php @@ -9,21 +9,22 @@ use staabm\PHPStanDba\CacheNotPopulatedException; use staabm\PHPStanDba\DbaException; use staabm\PHPStanDba\Error; +use staabm\PHPStanDba\Valid; use const LOCK_EX; final class ReflectionCache { - private const SCHEMA_VERSION = 'v12-new-cache5'; + private const SCHEMA_VERSION = 'v13-valid-query'; private string $cacheFile; /** - * @var array}> + * @var array}> */ private array $records = []; /** - * @var array}> + * @var array}> */ private array $changes = []; @@ -99,7 +100,7 @@ public function setSchemaHash(string $hash): void } /** - * @return array}> + * @return array}> */ private function lazyReadRecords() { @@ -225,6 +226,17 @@ public function persist(): void } } + public function contains(string $queryString): bool + { + $records = $this->lazyReadRecords(); + + if (! \array_key_exists($queryString, $records)) { + return false; + } + + return true; + } + public function hasValidationError(string $queryString): bool { $records = $this->lazyReadRecords(); @@ -234,7 +246,10 @@ public function hasValidationError(string $queryString): bool } $cacheEntry = $this->records[$queryString]; - return \array_key_exists('error', $cacheEntry); + + return \array_key_exists('error', $cacheEntry) + && $cacheEntry['error'] instanceof Error + ; } /** @@ -257,6 +272,10 @@ public function getValidationError(string $queryString): ?Error return null; } + if (! $cacheEntry['error'] instanceof Error) { + return null; + } + return $cacheEntry['error']; } @@ -277,6 +296,24 @@ public function putValidationError(string $queryString, Error $error): void unset($this->records[$queryString]['result']); } + public function putValidationSuccess(string $queryString): void + { + $records = $this->lazyReadRecords(); + + if (! \array_key_exists($queryString, $records)) { + $this->changes[$queryString] = $this->records[$queryString] = []; + $this->cacheIsDirty = true; + } + + if ( + ! \array_key_exists('error', $this->records[$queryString]) + || ! $this->records[$queryString]['error'] instanceof Valid + ) { + $this->changes[$queryString]['error'] = $this->records[$queryString]['error'] = new Valid(); + $this->cacheIsDirty = true; + } + } + /** * @param QueryReflector::FETCH_TYPE* $fetchType */ @@ -310,7 +347,7 @@ public function getResultType(string $queryString, int $fetchType): ?Type } $cacheEntry = $this->records[$queryString]; - if (\array_key_exists('error', $cacheEntry)) { + if (\array_key_exists('error', $cacheEntry) && $cacheEntry['error'] instanceof Error) { return null; } diff --git a/src/QueryReflection/ReplayAndRecordingQueryReflector.php b/src/QueryReflection/ReplayAndRecordingQueryReflector.php index 1afc4d9aa..bd059d584 100644 --- a/src/QueryReflection/ReplayAndRecordingQueryReflector.php +++ b/src/QueryReflection/ReplayAndRecordingQueryReflector.php @@ -53,9 +53,8 @@ public function validateQueryString(string $queryString): ?Error return $this->createRecordingReflector()->validateQueryString($queryString); } - $error = $this->replayReflector->validateQueryString($queryString); - if (null !== $error) { - return $error; + if ($this->reflectionCache->contains($queryString)) { + return $this->replayReflector->validateQueryString($queryString); } return $this->createRecordingReflector()->validateQueryString($queryString); diff --git a/src/QueryReflection/TypeSerializer.php b/src/QueryReflection/TypeSerializer.php index 9a21cef9d..de13b1fcc 100644 --- a/src/QueryReflection/TypeSerializer.php +++ b/src/QueryReflection/TypeSerializer.php @@ -9,6 +9,7 @@ use PHPStan\ShouldNotHappenException; use PHPStan\Type\Type; use staabm\PHPStanDba\Error; +use staabm\PHPStanDba\Valid; final class TypeSerializer { @@ -17,8 +18,8 @@ final class TypeSerializer private ?TypeStringResolver $typeStringResolver = null; /** - * @param array}> $records - * @return array>}> + * @param array}> $records + * @return array>}> */ public function serialize(array $records): array { diff --git a/src/Valid.php b/src/Valid.php new file mode 100644 index 000000000..e22cb072b --- /dev/null +++ b/src/Valid.php @@ -0,0 +1,16 @@ +hasValidationError($query)); self::assertFalse($cache->hasResultType($query, QueryReflector::FETCH_TYPE_BOTH)); + self::assertFalse($cache->contains($query)); $cache->putResultType($query, QueryReflector::FETCH_TYPE_BOTH, new IntegerType()); self::assertTrue($cache->hasResultType($query, QueryReflector::FETCH_TYPE_BOTH)); self::assertInstanceOf(IntegerType::class, $cache->getResultType($query, QueryReflector::FETCH_TYPE_BOTH)); + self::assertTrue($cache->contains($query)); self::assertFalse($cache->hasValidationError($query)); self::assertNull($cache->getValidationError($query)); @@ -39,16 +41,40 @@ public function testPutValidationError(): void $cache = ReflectionCache::create(self::CACHE_FILE); self::assertFalse($cache->hasValidationError($query)); self::assertFalse($cache->hasResultType($query, QueryReflector::FETCH_TYPE_BOTH)); + self::assertFalse($cache->contains($query)); $error = new Error('some error', 123); $cache->putValidationError($query, $error); self::assertTrue($cache->hasValidationError($query)); self::assertSame($error, $cache->getValidationError($query)); + self::assertTrue($cache->contains($query)); self::assertFalse($cache->hasResultType($query, QueryReflector::FETCH_TYPE_BOTH)); self::assertNull($cache->getResultType($query, QueryReflector::FETCH_TYPE_BOTH)); } + public function testPutValidationSuccess(): void + { + $query = 'SELECT 1 FROM abc WHERE x = 6'; + + $cache = ReflectionCache::create(self::CACHE_FILE); + self::assertFalse($cache->hasValidationError($query)); + self::assertFalse($cache->hasResultType($query, QueryReflector::FETCH_TYPE_BOTH)); + self::assertFalse($cache->contains($query)); + + $cache->putValidationSuccess($query); + self::assertFalse($cache->hasValidationError($query)); + self::assertNull($cache->getValidationError($query)); + self::assertTrue($cache->contains($query)); + + self::assertFalse($cache->hasResultType($query, QueryReflector::FETCH_TYPE_BOTH)); + try { + self::assertNull($cache->getResultType($query, QueryReflector::FETCH_TYPE_BOTH)); + self::fail(); + } catch (CacheNotPopulatedException $e) { + } + } + public function testCacheNotPopulated(): void { $query = 'SELECT 1 FROM abc WHERE x = 6'; diff --git a/tests/default/config/.phpunit-phpstan-dba-mysqli.cache b/tests/default/config/.phpunit-phpstan-dba-mysqli.cache index 8696efabf..6dc7269aa 100644 --- a/tests/default/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/default/config/.phpunit-phpstan-dba-mysqli.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( @@ -161,16 +161,6 @@ FROM ada' => ), ), ), - 'SELECT adaid FROM ada WHERE adaid IN (\'1.0\')' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), 'SELECT adaid FROM ada WHERE adaid IN (NULL) AND email LIKE \'1970-01-01\'' => array ( 'result' => @@ -326,6 +316,9 @@ FROM ada' => ), 'SELECT email, adaid FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -378,18 +371,11 @@ FROM ada' => ), ), ), - 'SELECT email, adaid FROM ada WHERE adaid = \'email@example.org\' and email = \'1\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', - ), - ), - ), 'SELECT email, adaid FROM ada WHERE adaid = 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -430,6 +416,9 @@ FROM ada' => ), 'SELECT email, adaid FROM ada WHERE adaid=1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => diff --git a/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache index 701736afc..2cfd4a2ae 100644 --- a/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/default/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( @@ -161,16 +161,6 @@ FROM ada' => ), ), ), - 'SELECT adaid FROM ada WHERE adaid IN (\'1.0\')' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{adaid: int<-32768, 32767>, 0: int<-32768, 32767>}', - ), - ), - ), 'SELECT adaid FROM ada WHERE adaid IN (NULL) AND email LIKE \'1970-01-01\'' => array ( 'result' => @@ -326,6 +316,9 @@ FROM ada' => ), 'SELECT email, adaid FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -378,18 +371,11 @@ FROM ada' => ), ), ), - 'SELECT email, adaid FROM ada WHERE adaid = \'email@example.org\' and email = \'1\'' => - array ( - 'result' => - array ( - 5 => - array ( - 'type-description' => 'array{email: string, 0: string, adaid: int<-32768, 32767>, 1: int<-32768, 32767>}', - ), - ), - ), 'SELECT email, adaid FROM ada WHERE adaid = 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -430,6 +416,9 @@ FROM ada' => ), 'SELECT email, adaid FROM ada WHERE adaid=1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => diff --git a/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-mysqli.cache b/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-mysqli.cache index 3b745655c..cb03124d5 100644 --- a/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-mysqli.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( diff --git a/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-pdo-mysql.cache index 3b745655c..cb03124d5 100644 --- a/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/defaultFetchAssoc/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( diff --git a/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-mysqli.cache b/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-mysqli.cache index 3b745655c..cb03124d5 100644 --- a/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-mysqli.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( diff --git a/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-pdo-mysql.cache index 3b745655c..cb03124d5 100644 --- a/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/defaultFetchNumeric/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( diff --git a/tests/rules/config/.phpunit-phpstan-dba-mysqli.cache b/tests/rules/config/.phpunit-phpstan-dba-mysqli.cache index 3d0c8527b..914c53199 100644 --- a/tests/rules/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/rules/config/.phpunit-phpstan-dba-mysqli.cache @@ -1,8 +1,20 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( + 'EXPLAIN DELETE FROM `ada` WHERE adaid = 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'EXPLAIN DELETE from ada' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'EXPLAIN DELETE from adasfd' => array ( 'error' => @@ -21,6 +33,12 @@ Simulated query: EXPLAIN INSERT INTO `ada` SET email="test" WHERE adaid = 1', 'code' => 1064, )), ), + 'EXPLAIN INSERT into ada SET email="sdf"' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'EXPLAIN INSERT into adasfd SET email="sdf"' => array ( 'error' => @@ -47,19 +65,23 @@ Simulated query: EXPLAIN REPLACE INTO `ada` SET email="test" WHERE adaid = 1', 'code' => 1146, )), ), - 'EXPLAIN UPDATE adasfd SET email = ""' => + 'EXPLAIN UPDATE `ada` SET email="test" WHERE adaid = 1' => array ( 'error' => - \staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Table \'phpstan_dba.adasfd\' doesn\'t exist', - 'code' => 1146, + \staabm\PHPStanDba\Valid::__set_state(array( )), ), - 'EXPLAIN UPDATE package SET indexedAt=\'1970-01-01\' WHERE id IN (\'1\') AND (indexedAt IS NULL OR indexedAt <= crawledAt)' => + 'EXPLAIN UPDATE ada set email = ""' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'EXPLAIN UPDATE adasfd SET email = ""' => array ( 'error' => \staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'Table \'phpstan_dba.package\' doesn\'t exist', + 'message' => 'Table \'phpstan_dba.adasfd\' doesn\'t exist', 'code' => 1146, )), ), @@ -71,21 +93,21 @@ Simulated query: EXPLAIN REPLACE INTO `ada` SET email="test" WHERE adaid = 1', 'code' => 1146, )), ), - 'SELECT * FROM LIMIT 1' => + 'SELECT * FROM 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 \'LIMIT 0\' at line 1', + '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 \'1 LIMIT 0\' at line 1 + +Simulated query: SELECT * FROM 1 LIMIT 0', 'code' => 1064, )), ), - 'SELECT * FROM 1' => + 'SELECT * FROM 1 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 \'1 LIMIT 0\' at line 1 - -Simulated query: SELECT * FROM 1 LIMIT 0', + '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 \'1 LIMIT 0\' at line 1', 'code' => 1064, )), ), @@ -101,6 +123,9 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), 'SELECT * FROM `ada` WHERE adaid = 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -109,6 +134,12 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), ), ), + 'SELECT * FROM `ada` WHERE email = \'test@example.com\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT * FROM `ada` WHERE email = \'test@example.com\';' => array ( 'result' => @@ -147,6 +178,9 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), 'SELECT * FROM ada WHERE adaid = \'1\'' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -165,6 +199,9 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), 'SELECT * FROM ada WHERE email = \'1970-01-01\'' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -221,6 +258,12 @@ Simulated query: SELECT * FROM 1 LIMIT 0', 'code' => 1146, )), ), + 'SELECT *,adaid FROM `ada` WHERE email = \'test@example.com\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT *,adaid FROM `ada` WHERE email = \'test@example.com\';' => array ( 'result' => @@ -241,6 +284,48 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => 1064, )), ), + 'SELECT adaid FROM ada WHERE email = \'1970-01-01\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email = \'1970-01-01\' AND gesperrt = \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE ":gesperrt%"' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \'%questions ?%\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \':gesperrt%\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \'hello?%\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \'some strange string - :gesperrt it is\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT adaid FROM ada WHERE email=\'1970-01-01\'' => array ( 'result' => @@ -253,6 +338,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT akid FROM ak WHERE akid IN (\'1\')' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -271,6 +359,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 3 => @@ -283,6 +374,18 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email FROM ada WHERE adaid IN (\'1\')' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email FROM ada WHERE email = \'abc\' OR email = \'def\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email FROM ada where email = ""' => array ( 'result' => @@ -338,6 +441,112 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => 1064, )), ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + FOR UPDATE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + FOR UPDATE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET \'1\' + FOR SHARE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET \'1\' + FOR UPDATE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\', \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\', \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' AND email LIKE \'%@example%\' + LIMIT 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' AND email LIKE NULL + LIMIT 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid FROM ada WHERE email = \'a\'' => array ( 'result' => @@ -350,6 +559,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -376,7 +588,7 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), - 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'10\'' => + 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'1\'' => array ( 'result' => array ( @@ -386,7 +598,7 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), - 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'10\' and email = \'hello world\'' => + 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'1\' and email = \'hello world\'' => array ( 'result' => array ( @@ -408,6 +620,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid FROM ada WHERE email=\'my_other_table\' LIMIT 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -416,15 +631,13 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), - 'SELECT email, adaid GROUP BY xy FROM ada LIMIT 1' => + 'SELECT email, adaid FROM ada WHERE gesperrt = \'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, + \staabm\PHPStanDba\Valid::__set_state(array( )), ), - 'SELECT email, adaid GROUP BY xy FROM ada LIMIT 1' => + 'SELECT email, adaid GROUP BY xy FROM ada LIMIT 1' => array ( 'error' => \staabm\PHPStanDba\Error::__set_state(array( @@ -434,6 +647,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 3 => @@ -446,8 +662,18 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada + WHERE (gesperrt=\'1\' AND freigabe1u1=1) OR (gesperrt=\'1\' AND freigabe1u1=0)' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -458,6 +684,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email=\'my_other_table\' LIMIT 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -492,6 +721,12 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => 1054, )), ), + 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE gesperrt=\'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE gesperrt=1' => array ( 'result' => @@ -502,6 +737,12 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada;' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, does_not_exist FROM ada WHERE email = \'1970-01-01\' AND 1=1' => array ( 'error' => @@ -520,6 +761,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email,adaid FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -548,14 +792,6 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => 1064, )), ), - 'SELECT id FROM table WHERE id IN (\'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 \'table WHERE id IN (\'1\') LIMIT 0\' at line 1', - 'code' => 1064, - )), - ), 'SELECT with syntax error GROUPY by x' => array ( 'error' => diff --git a/tests/rules/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/rules/config/.phpunit-phpstan-dba-pdo-mysql.cache index 213bd7096..42e89555a 100644 --- a/tests/rules/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/rules/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -1,8 +1,20 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( + 'EXPLAIN DELETE FROM `ada` WHERE adaid = 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'EXPLAIN DELETE from ada' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'EXPLAIN DELETE from adasfd' => array ( 'error' => @@ -42,6 +54,12 @@ Simulated query: EXPLAIN INSERT INTO `ada` SET email="test" WHERE adaid = 1', 'code' => '42000', )), ), + 'EXPLAIN INSERT into ada SET email="sdf"' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'EXPLAIN INSERT into adasfd SET email="sdf"' => array ( 'error' => @@ -68,6 +86,18 @@ Simulated query: EXPLAIN REPLACE INTO `ada` SET email="test" WHERE adaid = 1', 'code' => '42S02', )), ), + 'EXPLAIN UPDATE `ada` SET email="test" WHERE adaid = 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'EXPLAIN UPDATE ada set email = ""' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'EXPLAIN UPDATE adasfd SET email = ""' => array ( 'error' => @@ -84,21 +114,21 @@ Simulated query: EXPLAIN REPLACE INTO `ada` SET email="test" WHERE adaid = 1', 'code' => '42S02', )), ), - 'SELECT * FROM LIMIT 1' => + 'SELECT * FROM 1' => array ( 'error' => \staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 \'LIMIT 0\' at line 1', + 'message' => 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 \'1 LIMIT 0\' at line 1 + +Simulated query: SELECT * FROM 1 LIMIT 0', 'code' => '42000', )), ), - 'SELECT * FROM 1' => + 'SELECT * FROM 1 LIMIT 1' => array ( 'error' => \staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 \'1 LIMIT 0\' at line 1 - -Simulated query: SELECT * FROM 1 LIMIT 0', + 'message' => 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 \'1 LIMIT 0\' at line 1', 'code' => '42000', )), ), @@ -114,6 +144,9 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), 'SELECT * FROM `ada` WHERE adaid = 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -122,6 +155,12 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), ), ), + 'SELECT * FROM `ada` WHERE email = \'test@example.com\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT * FROM `ada` WHERE email = \'test@example.com\';' => array ( 'result' => @@ -160,6 +199,9 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), 'SELECT * FROM ada WHERE adaid = \'1\'' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -178,6 +220,9 @@ Simulated query: SELECT * FROM 1 LIMIT 0', ), 'SELECT * FROM ada WHERE email = \'1970-01-01\'' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -234,6 +279,12 @@ Simulated query: SELECT * FROM 1 LIMIT 0', 'code' => '42S02', )), ), + 'SELECT *,adaid FROM `ada` WHERE email = \'test@example.com\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT *,adaid FROM `ada` WHERE email = \'test@example.com\';' => array ( 'result' => @@ -254,6 +305,48 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => '42000', )), ), + 'SELECT adaid FROM ada WHERE email = \'1970-01-01\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email = \'1970-01-01\' AND gesperrt = \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE ":gesperrt%"' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \'%questions ?%\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \':gesperrt%\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \'hello?%\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT adaid FROM ada WHERE email LIKE \'some strange string - :gesperrt it is\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT adaid FROM ada WHERE email=\'1970-01-01\'' => array ( 'result' => @@ -274,6 +367,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 3 => @@ -286,6 +382,18 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email FROM ada WHERE adaid IN (\'1\')' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email FROM ada WHERE email = \'abc\' OR email = \'def\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email FROM ada where email = ""' => array ( 'result' => @@ -341,6 +449,112 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => '42000', )), ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + FOR UPDATE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + FOR UPDATE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET \'1\' + FOR SHARE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET \'1\' + FOR UPDATE' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\' + OFFSET 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\', \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' + LIMIT \'1\', \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' AND email LIKE \'%@example%\' + LIMIT 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), + 'SELECT email, adaid + FROM ada + WHERE gesperrt = \'1\' AND email LIKE NULL + LIMIT 1' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid FROM ada WHERE email = \'a\'' => array ( 'result' => @@ -353,6 +567,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -379,7 +596,7 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), - 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'10\'' => + 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'1\'' => array ( 'result' => array ( @@ -389,7 +606,7 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), - 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'10\' and email = \'hello world\'' => + 'SELECT email, adaid FROM ada WHERE adaid = \'1\' OR adaid = \'1\' and email = \'hello world\'' => array ( 'result' => array ( @@ -411,6 +628,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid FROM ada WHERE email=\'my_other_table\' LIMIT 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -419,6 +639,12 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email, adaid FROM ada WHERE gesperrt = \'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid GROUP BY xy FROM ada LIMIT 1' => array ( 'error' => @@ -429,6 +655,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 3 => @@ -441,8 +670,18 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada + WHERE (gesperrt=\'1\' AND freigabe1u1=1) OR (gesperrt=\'1\' AND freigabe1u1=0)' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada LIMIT 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -453,6 +692,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE email=\'my_other_table\' LIMIT 1' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -487,6 +729,12 @@ Simulated query: SELECT FROM WHERE LIMIT 0', 'code' => '42S22', )), ), + 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE gesperrt=\'1\'' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE gesperrt=1' => array ( 'result' => @@ -497,6 +745,12 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), + 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada;' => + array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), + ), 'SELECT email, does_not_exist FROM ada WHERE email = \'1970-01-01\' AND 1=1' => array ( 'error' => @@ -515,6 +769,9 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), 'SELECT email,adaid FROM ada' => array ( + 'error' => + \staabm\PHPStanDba\Valid::__set_state(array( + )), 'result' => array ( 5 => @@ -527,22 +784,6 @@ Simulated query: SELECT FROM WHERE LIMIT 0', ), ), ), - 'SELECT id FROM table WHERE a=\'1970-01-01\' AND err-or id IN (\'1\')' => - array ( - 'error' => - \staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 \'table WHERE a=\'1970-01-01\' AND err-or id IN (\'1\') LIMIT 0\' at line 1', - 'code' => '42000', - )), - ), - 'SELECT id FROM table WHERE err-or id IN (\'1\')' => - array ( - 'error' => - \staabm\PHPStanDba\Error::__set_state(array( - 'message' => 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 \'table WHERE err-or id IN (\'1\') LIMIT 0\' at line 1', - 'code' => '42000', - )), - ), 'SELECT with syntax error GROUPY by x' => array ( 'error' => diff --git a/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache b/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache index c28a3f9d2..f0b25c33b 100644 --- a/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/sqlAst/config/.phpunit-phpstan-dba-mysqli.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( @@ -164,7 +164,7 @@ array ( 5 => array ( - 'type-description' => 'array{str: string|null, 0: string|null}', + 'type-description' => 'array{str: string, 0: string}', ), ), ), @@ -204,7 +204,7 @@ array ( 5 => array ( - 'type-description' => 'array{str: string|null, 0: string|null}', + 'type-description' => 'array{str: string, 0: string}', ), ), ), @@ -744,7 +744,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -754,7 +754,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -794,7 +794,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -804,7 +804,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -1014,7 +1014,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: mixed, 0: mixed}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -1164,7 +1164,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1214,7 +1214,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1224,7 +1224,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1244,7 +1244,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1254,7 +1254,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -1274,7 +1274,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1614,7 +1614,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1624,7 +1624,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), diff --git a/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache index c28a3f9d2..f0b25c33b 100644 --- a/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/sqlAst/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( @@ -164,7 +164,7 @@ array ( 5 => array ( - 'type-description' => 'array{str: string|null, 0: string|null}', + 'type-description' => 'array{str: string, 0: string}', ), ), ), @@ -204,7 +204,7 @@ array ( 5 => array ( - 'type-description' => 'array{str: string|null, 0: string|null}', + 'type-description' => 'array{str: string, 0: string}', ), ), ), @@ -744,7 +744,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -754,7 +754,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -794,7 +794,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -804,7 +804,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -1014,7 +1014,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: mixed, 0: mixed}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -1164,7 +1164,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1214,7 +1214,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1224,7 +1224,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1244,7 +1244,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1254,7 +1254,7 @@ array ( 5 => array ( - 'type-description' => 'array{col: string|null, 0: string|null}', + 'type-description' => 'array{col: string, 0: string}', ), ), ), @@ -1274,7 +1274,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1614,7 +1614,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), @@ -1624,7 +1624,7 @@ array ( 5 => array ( - 'type-description' => 'array{field: string|null, 0: string|null}', + 'type-description' => 'array{field: string, 0: string}', ), ), ), diff --git a/tests/stringify/config/.phpunit-phpstan-dba-mysqli.cache b/tests/stringify/config/.phpunit-phpstan-dba-mysqli.cache index b6e647e63..e1a078b83 100644 --- a/tests/stringify/config/.phpunit-phpstan-dba-mysqli.cache +++ b/tests/stringify/config/.phpunit-phpstan-dba-mysqli.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array ( diff --git a/tests/stringify/config/.phpunit-phpstan-dba-pdo-mysql.cache b/tests/stringify/config/.phpunit-phpstan-dba-pdo-mysql.cache index b6e647e63..e1a078b83 100644 --- a/tests/stringify/config/.phpunit-phpstan-dba-pdo-mysql.cache +++ b/tests/stringify/config/.phpunit-phpstan-dba-pdo-mysql.cache @@ -1,5 +1,5 @@ 'v12-new-cache5', + 'schemaVersion' => 'v13-valid-query', 'schemaHash' => NULL, 'records' => array (