MCPcopy Create free account
hub / github.com/mikro-orm/mikro-orm / execute

Method execute

packages/sql/src/SqlEntityManager.ts:150–176  ·  view source on GitHub ↗
(
    query: string | NativeQueryBuilder | RawQueryFragment,
    params: any[] = [],
    methodOrOptions: 'all' | 'get' | 'run' | EmExecuteOptions = 'all',
    loggerContext?: LoggingOptions,
  )

Source from the content-addressed store, hash-verified

148 options: EmExecuteOptions,
149 ): Promise<T>;
150 async execute<T extends QueryResult | EntityData<AnyEntity> | EntityData<AnyEntity>[] = EntityData<AnyEntity>[]>(
151 query: string | NativeQueryBuilder | RawQueryFragment,
152 params: any[] = [],
153 methodOrOptions: 'all' | 'get' | 'run' | EmExecuteOptions = 'all',
154 loggerContext?: LoggingOptions,
155 ): Promise<T> {
156 const opts: EmExecuteOptions =
157 typeof methodOrOptions === 'string' ? { method: methodOrOptions, loggerContext } : methodOrOptions;
158 const context = this.getContext(false);
159 // Per-field fallback to fork-level abort, matching `EntityManager.prepareOptions` semantics.
160 const fork = context.getAbortOptions();
161 const hasAbort = opts.signal != null || opts.inflightQueryAbortStrategy != null || fork != null;
162 // Connection layer carries abort piggy-backed on `loggerContext`; merge only when needed.
163 const merged: (LoggingOptions & Partial<AbortQueryOptions>) | undefined =
164 hasAbort || opts.loggerContext ? { ...(opts.loggerContext as Dictionary | undefined) } : undefined;
165 if (merged && hasAbort) {
166 merged.signal = opts.signal ?? fork?.signal;
167 merged.inflightQueryAbortStrategy = opts.inflightQueryAbortStrategy ?? fork?.inflightQueryAbortStrategy;
168 }
169 return this.getDriver().execute(
170 query,
171 params,
172 opts.method ?? 'all',
173 context.getTransactionContext(),
174 merged,
175 ) as Promise<T>;
176 }
177
178 /**
179 * @inheritDoc

Callers

nothing calls this directly

Calls 5

getContextMethod · 0.80
getAbortOptionsMethod · 0.80
getTransactionContextMethod · 0.80
executeMethod · 0.65
getDriverMethod · 0.45

Tested by

no test coverage detected