execute() — drizzle-orm Function Reference
Architecture documentation for the execute() function in session.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 9ba16c44_eba2_fc97_295c_7bf5be3d0805["execute()"] d0cda740_f18c_fe26_b9bf_9d6191b337f6["PlanetScalePreparedQuery"] 9ba16c44_eba2_fc97_295c_7bf5be3d0805 -->|defined in| d0cda740_f18c_fe26_b9bf_9d6191b337f6 31651c33_a3e9_0d10_9b92_cbd4812fd13d["query()"] 31651c33_a3e9_0d10_9b92_cbd4812fd13d -->|calls| 9ba16c44_eba2_fc97_295c_7bf5be3d0805 443c8202_10bb_5d06_b449_ecca8dc7f594["queryObjects()"] 443c8202_10bb_5d06_b449_ecca8dc7f594 -->|calls| 9ba16c44_eba2_fc97_295c_7bf5be3d0805 95e9ac8d_ce5c_2dce_cd0f_c1f051787ece["transaction()"] 95e9ac8d_ce5c_2dce_cd0f_c1f051787ece -->|calls| 9ba16c44_eba2_fc97_295c_7bf5be3d0805 style 9ba16c44_eba2_fc97_295c_7bf5be3d0805 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/planetscale-serverless/session.ts lines 49–106
async execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {
const params = fillPlaceholders(this.params, placeholderValues);
this.logger.logQuery(this.queryString, params);
const {
fields,
client,
queryString,
rawQuery,
query,
joinsNotNullableMap,
customResultMapper,
returningIds,
generatedIds,
} = this;
if (!fields && !customResultMapper) {
const res = await this.queryWithCache(queryString, params, async () => {
return await client.execute(queryString, params, rawQuery);
});
const insertId = Number.parseFloat(res.insertId);
const affectedRows = res.rowsAffected;
// for each row, I need to check keys from
if (returningIds) {
const returningResponse = [];
let j = 0;
for (let i = insertId; i < insertId + affectedRows; i++) {
for (const column of returningIds) {
const key = returningIds[0]!.path[0]!;
if (is(column.field, Column)) {
// @ts-ignore
if (column.field.primary && column.field.autoIncrement) {
returningResponse.push({ [key]: i });
}
if (column.field.defaultFn && generatedIds) {
// generatedIds[rowIdx][key]
returningResponse.push({ [key]: generatedIds[j]![key] });
}
}
}
j++;
}
return returningResponse;
}
return res;
}
const { rows } = await this.queryWithCache(queryString, params, async () => {
return await client.execute(queryString, params, query);
});
if (customResultMapper) {
return customResultMapper(rows as unknown[][]);
}
return rows.map((row) => mapResultRow<T['execute']>(fields!, row as unknown[], joinsNotNullableMap));
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does execute() do?
execute() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/planetscale-serverless/session.ts.
Where is execute() defined?
execute() is defined in drizzle-orm/src/planetscale-serverless/session.ts at line 49.
What calls execute()?
execute() is called by 3 function(s): query, queryObjects, transaction.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free