{"id":"d6052532f9967078","repo":"drizzle-team/drizzle-orm","slug":"cannot-execute-a-query-on-a-query-builder-please","errorCode":null,"errorMessage":"Cannot execute a query on a query builder. Please use a database instance instead.","messagePattern":"Cannot execute a query on a query builder\\. Please use a database instance instead\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"drizzle-orm/src/gel-core/query-builders/select.ts","lineNumber":1066,"sourceCode":"\tTSelectedFields = BuildSubquerySelection<TSelection, TNullabilityMap>,\n> extends GelSelectQueryBuilderBase<\n\tGelSelectHKT,\n\tTTableName,\n\tTSelection,\n\tTSelectMode,\n\tTNullabilityMap,\n\tTDynamic,\n\tTExcludedMethods,\n\tTResult,\n\tTSelectedFields\n> implements RunnableQuery<TResult, 'gel'>, SQLWrapper {\n\tstatic override readonly [entityKind]: string = 'GelSelect';\n\n\t/** @internal */\n\t_prepare(name?: string): GelSelectPrepare<this> {\n\t\tconst { session, config, dialect, joinsNotNullableMap, cacheConfig, usedTables } = this;\n\t\tif (!session) {\n\t\t\tthrow new Error('Cannot execute a query on a query builder. Please use a database instance instead.');\n\t\t}\n\t\treturn tracer.startActiveSpan('drizzle.prepareQuery', () => {\n\t\t\tconst fieldsList = orderSelectedFields<GelColumn>(config.fields);\n\t\t\tconst query = session.prepareQuery<\n\t\t\t\tPreparedQueryConfig & { execute: TResult }\n\t\t\t>(dialect.sqlToQuery(this.getSQL()), fieldsList, name, true, undefined, {\n\t\t\t\ttype: 'select',\n\t\t\t\ttables: [...usedTables],\n\t\t\t}, cacheConfig);\n\t\t\tquery.joinsNotNullableMap = joinsNotNullableMap;\n\n\t\t\treturn query;\n\t\t});\n\t}\n\n\t$withCache(config?: { config?: CacheConfig; tag?: string; autoInvalidate?: boolean } | false) {\n\t\tthis.cacheConfig = config === undefined\n\t\t\t? { config: {}, enable: true, autoInvalidate: true }","sourceCodeStart":1048,"sourceCodeEnd":1084,"githubUrl":"https://github.com/drizzle-team/drizzle-orm/blob/b7862528fd8fc39bc2653a6c18dad7c1f4e68d10/drizzle-orm/src/gel-core/query-builders/select.ts#L1048-L1084","documentation":"Error \"Cannot execute a query on a query builder. Please use a database instance instead.\" thrown in drizzle-team/drizzle-orm.","triggerScenarios":"Awaiting/executing a Gel query builder (or passing it where a db is required) instead of executing through a database instance.","commonSituations":"Calling .execute() on a nested subquery builder; passing a select builder into a function expecting db.","solutions":["Run the query through the database instance (db.execute(...) or await db.select()...) instead of calling execute/run on the query builder itself."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"b7862528fd8fc39bc2653a6c18dad7c1f4e68d10","analyzedAt":"2026-08-03T18:11:14.318Z","schemaVersion":2}