{"record":{"id":"ea077bedf6099a23","repo":"doctrine/orm","slug":"this-parserresult-lacks-both-the-sqlfinalizer-as-w","errorCode":null,"errorMessage":"This ParserResult lacks both the SqlFinalizer as well as the (legacy) SqlExecutor","messagePattern":"This ParserResult lacks both the SqlFinalizer as well as the \\(legacy\\) SqlExecutor","errorType":"exception","errorClass":"LogicException","httpStatus":null,"severity":"error","filePath":"src/Query/ParserResult.php","lineNumber":130,"sourceCode":"        return $this->sqlExecutor;\n    }\n\n    public function setSqlFinalizer(SqlFinalizer $finalizer): void\n    {\n        $this->sqlFinalizer = $finalizer;\n    }\n\n    public function prepareSqlExecutor(Query $query): AbstractSqlExecutor\n    {\n        if ($this->sqlFinalizer !== null) {\n            return $this->sqlFinalizer->createExecutor($query);\n        }\n\n        if ($this->sqlExecutor !== null) {\n            return $this->sqlExecutor;\n        }\n\n        throw new LogicException('This ParserResult lacks both the SqlFinalizer as well as the (legacy) SqlExecutor');\n    }\n\n    /**\n     * Adds a DQL to SQL parameter mapping. One DQL parameter name/position can map to\n     * several SQL parameter positions.\n     */\n    public function addParameterMapping(string|int $dqlPosition, int $sqlPosition): void\n    {\n        $this->parameterMappings[$dqlPosition][] = $sqlPosition;\n    }\n\n    /**\n     * Gets all DQL to SQL parameter mappings.\n     *\n     * @phpstan-return array<int|string, list<int>> The parameter mappings.\n     */\n    public function getParameterMappings(): array\n    {","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/doctrine/orm/blob/d9b9ff73016bf598ae07515f97289ce8074e97a5/src/Query/ParserResult.php#L112-L148","documentation":"Error \"This ParserResult lacks both the SqlFinalizer as well as the (legacy) SqlExecutor\" thrown in doctrine/orm.","triggerScenarios":"Thrown at src/Query/ParserResult.php:130 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d9b9ff73016bf598ae07515f97289ce8074e97a5","analyzedAt":"2026-08-21T06:13:15.863Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}