{"record":{"id":"a41e278db1e2095d","repo":"doctrine/orm","slug":"executor-not-set-yet-call-s-setsqlexecutor-fi","errorCode":null,"errorMessage":"Executor not set yet. Call %s::setSqlExecutor() first.","messagePattern":"Executor not set yet\\. Call (.+?)::setSqlExecutor\\(\\) first\\.","errorType":"exception","errorClass":"LogicException","httpStatus":null,"severity":"error","filePath":"src/Query/ParserResult.php","lineNumber":106,"sourceCode":"    }\n\n    /**\n     * Gets the SQL executor used by this ParserResult.\n     *\n     * @deprecated The SqlExecutor will be removed from ParserResult in 4.0. Provide a SqlFinalizer instead that can create the executor.\n     */\n    public function getSqlExecutor(): AbstractSqlExecutor\n    {\n        Deprecation::trigger(\n            'doctrine/orm',\n            'https://github.com/doctrine/orm/pull/11188',\n            'The SqlExecutor will be removed from %s in 4.0. Provide a %s instead that can create the executor.',\n            self::class,\n            SqlFinalizer::class,\n        );\n\n        if ($this->sqlExecutor === null) {\n            throw new LogicException(sprintf(\n                'Executor not set yet. Call %s::setSqlExecutor() first.',\n                self::class,\n            ));\n        }\n\n        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        }","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/doctrine/orm/blob/d9b9ff73016bf598ae07515f97289ce8074e97a5/src/Query/ParserResult.php#L88-L124","documentation":"Error \"Executor not set yet. Call %s::setSqlExecutor() first.\" thrown in doctrine/orm.","triggerScenarios":"Thrown at src/Query/ParserResult.php:106 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"}