Home / Function/ execute() — drizzle-orm Function Reference

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
  0f9540de_5358_69fd_b854_4371666724a9["execute()"]
  d3818d89_bf25_06e1_e85b_efdad1eed91b["SingleStoreDriverPreparedQuery"]
  0f9540de_5358_69fd_b854_4371666724a9 -->|defined in| d3818d89_bf25_06e1_e85b_efdad1eed91b
  6c9e83be_1dee_7767_90d7_ca7d8440b138["all()"]
  6c9e83be_1dee_7767_90d7_ca7d8440b138 -->|calls| 0f9540de_5358_69fd_b854_4371666724a9
  97e806e9_97b7_074b_ac57_aab19d4bbc66["transaction()"]
  97e806e9_97b7_074b_ac57_aab19d4bbc66 -->|calls| 0f9540de_5358_69fd_b854_4371666724a9
  8a26552d_acc1_0ef9_c339_f7c6004922f3["transaction()"]
  8a26552d_acc1_0ef9_c339_f7c6004922f3 -->|calls| 0f9540de_5358_69fd_b854_4371666724a9
  style 0f9540de_5358_69fd_b854_4371666724a9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/singlestore/session.ts lines 93–142

	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

Frequently Asked Questions

What does execute() do?
execute() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore/session.ts.
Where is execute() defined?
execute() is defined in drizzle-orm/src/singlestore/session.ts at line 93.
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