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 27c4ec08_2b89_4cd2_2eb6_775ccd3cb0d8["execute()"] f6d5f366_5923_39eb_1585_cad431d4f3e9["MySql2PreparedQuery"] 27c4ec08_2b89_4cd2_2eb6_775ccd3cb0d8 -->|defined in| f6d5f366_5923_39eb_1585_cad431d4f3e9 dbb6af0d_3468_9d14_c487_70d64d3a0363["all()"] dbb6af0d_3468_9d14_c487_70d64d3a0363 -->|calls| 27c4ec08_2b89_4cd2_2eb6_775ccd3cb0d8 b7d6681b_98af_3cb1_ca29_b651e8016689["transaction()"] b7d6681b_98af_3cb1_ca29_b651e8016689 -->|calls| 27c4ec08_2b89_4cd2_2eb6_775ccd3cb0d8 281944dd_c9ab_27a8_fd24_20b3c5b86a80["transaction()"] 281944dd_c9ab_27a8_fd24_20b3c5b86a80 -->|calls| 27c4ec08_2b89_4cd2_2eb6_775ccd3cb0d8 style 27c4ec08_2b89_4cd2_2eb6_775ccd3cb0d8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/mysql2/session.ts lines 92–143
async execute(placeholderValues: Record<string, unknown> = {}): Promise<T['execute']> {
const params = fillPlaceholders(this.params, placeholderValues);
this.logger.logQuery(this.rawQuery.sql, params);
const { fields, client, rawQuery, query, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } =
this;
if (!fields && !customResultMapper) {
const res = await this.queryWithCache(rawQuery.sql, params, async () => {
return await client.query<any>(rawQuery, params);
});
const insertId = res[0].insertId;
const affectedRows = res[0].affectedRows;
// 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 result = await this.queryWithCache(query.sql, params, async () => {
return await client.query<any[]>(query, params);
});
const rows = result[0];
if (customResultMapper) {
return customResultMapper(rows);
}
return rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does execute() do?
execute() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/mysql2/session.ts.
Where is execute() defined?
execute() is defined in drizzle-orm/src/mysql2/session.ts at line 92.
What calls execute()?
execute() is called by 3 function(s): all, transaction, transaction.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free