From 45aa4438527ef1ec84c1fca1355c53a5857a1e69 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Tue, 13 Feb 2024 15:06:13 +0100 Subject: [PATCH] Enforce literal string for connection execute methods --- extension.neon | 5 ++ .../Doctrine/StubFilesExtensionLoader.php | 1 + stubs/DBAL/Cache/CacheException.stub | 10 +++ stubs/DBAL/Cache/QueryCacheProfile.stub | 8 +++ stubs/DBAL/Connection.stub | 8 +++ stubs/DBAL/Exception.stub | 8 +++ .../UniqueConstraintViolationException.stub | 4 +- stubs/DBAL/Result.stub | 8 +++ stubs/DBAL/Types/Type.stub | 7 ++ stubs/bleedingEdge/DBAL/Connection.stub | 64 +++++++++++++++++++ 10 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 stubs/DBAL/Cache/CacheException.stub create mode 100644 stubs/DBAL/Cache/QueryCacheProfile.stub create mode 100644 stubs/DBAL/Connection.stub create mode 100644 stubs/DBAL/Exception.stub create mode 100644 stubs/DBAL/Result.stub create mode 100644 stubs/DBAL/Types/Type.stub create mode 100644 stubs/bleedingEdge/DBAL/Connection.stub diff --git a/extension.neon b/extension.neon index c83e8c0c..01b69199 100644 --- a/extension.neon +++ b/extension.neon @@ -19,7 +19,12 @@ parameters: - Doctrine\ORM\Tools\Pagination\Paginator stubFiles: - stubs/Criteria.stub + - stubs/DBAL/Cache/CacheException.stub + - stubs/DBAL/Cache/QueryCacheProfile.stub - stubs/DBAL/Exception/UniqueConstraintViolationException.stub + - stubs/DBAL/Types/Type.stub + - stubs/DBAL/Exception.stub + - stubs/DBAL/Result.stub - stubs/DocumentManager.stub - stubs/DocumentRepository.stub - stubs/EntityManager.stub diff --git a/src/Stubs/Doctrine/StubFilesExtensionLoader.php b/src/Stubs/Doctrine/StubFilesExtensionLoader.php index 1b1b4162..422f71da 100644 --- a/src/Stubs/Doctrine/StubFilesExtensionLoader.php +++ b/src/Stubs/Doctrine/StubFilesExtensionLoader.php @@ -35,6 +35,7 @@ public function getFiles(): array } $files = [ + $path . '/DBAL/Connection.stub', $path . '/ORM/QueryBuilder.stub', $path . '/EntityRepository.stub', ]; diff --git a/stubs/DBAL/Cache/CacheException.stub b/stubs/DBAL/Cache/CacheException.stub new file mode 100644 index 00000000..3c0249cd --- /dev/null +++ b/stubs/DBAL/Cache/CacheException.stub @@ -0,0 +1,10 @@ +|array $params Statement parameters + * @param array|array $types Parameter types + * + * @return int|string The number of affected rows. + * + * @throws Exception + */ + public function executeStatement($sql, array $params = [], array $types = []); + + /** + * Executes an, optionally parameterized, SQL query. + * + * If the query is parametrized, a prepared statement is used. + * If an SQLLogger is configured, the execution is logged. + * + * @param literal-string $sql SQL query + * @param list|array $params Query parameters + * @param array|array $types Parameter types + * + * @throws Exception + */ + public function executeQuery( + string $sql, + array $params = [], + $types = [], + ?QueryCacheProfile $qcp = null + ): Result; + + /** + * Executes a caching query. + * + * @param literal-string $sql SQL query + * @param list|array $params Query parameters + * @param array|array $types Parameter types + * + * @throws CacheException + * @throws Exception + */ + public function executeCacheQuery($sql, $params, $types, QueryCacheProfile $qcp): Result; + +}