iterator() — drizzle-orm Function Reference
Architecture documentation for the iterator() function in session.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 1e1f198b_6eb7_fa19_2f76_40310ac4f415["iterator()"] d3818d89_bf25_06e1_e85b_efdad1eed91b["SingleStoreDriverPreparedQuery"] 1e1f198b_6eb7_fa19_2f76_40310ac4f415 -->|defined in| d3818d89_bf25_06e1_e85b_efdad1eed91b d4a863ce_a3bb_07aa_1d62_22fab05df51e["isPool()"] 1e1f198b_6eb7_fa19_2f76_40310ac4f415 -->|calls| d4a863ce_a3bb_07aa_1d62_22fab05df51e bec6f5c5_0f07_2855_d4b7_24331e6ca30e["query()"] 1e1f198b_6eb7_fa19_2f76_40310ac4f415 -->|calls| bec6f5c5_0f07_2855_d4b7_24331e6ca30e style 1e1f198b_6eb7_fa19_2f76_40310ac4f415 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/singlestore/session.ts lines 144–194
async *iterator(
placeholderValues: Record<string, unknown> = {},
): AsyncGenerator<T['execute'] extends any[] ? T['execute'][number] : T['execute']> {
const params = fillPlaceholders(this.params, placeholderValues);
const conn = ((isPool(this.client) ? await this.client.getConnection() : this.client) as {} as {
connection: CallbackConnection;
}).connection;
const { fields, query, rawQuery, joinsNotNullableMap, client, customResultMapper } = this;
const hasRowsMapper = Boolean(fields || customResultMapper);
const driverQuery = hasRowsMapper ? conn.query(query, params) : conn.query(rawQuery, params);
const stream = driverQuery.stream();
function dataListener() {
stream.pause();
}
stream.on('data', dataListener);
try {
const onEnd = once(stream, 'end');
const onError = once(stream, 'error');
while (true) {
stream.resume();
const row = await Promise.race([onEnd, onError, new Promise((resolve) => stream.once('data', resolve))]);
if (row === undefined || (Array.isArray(row) && row.length === 0)) {
break;
} else if (row instanceof Error) { // eslint-disable-line no-instanceof/no-instanceof
throw row;
} else {
if (hasRowsMapper) {
if (customResultMapper) {
const mappedRow = customResultMapper([row as unknown[]]);
yield (Array.isArray(mappedRow) ? mappedRow[0] : mappedRow);
} else {
yield mapResultRow(fields!, row as unknown[], joinsNotNullableMap);
}
} else {
yield row as T['execute'];
}
}
}
} finally {
stream.off('data', dataListener);
if (isPool(client)) {
conn.end();
}
}
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does iterator() do?
iterator() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore/session.ts.
Where is iterator() defined?
iterator() is defined in drizzle-orm/src/singlestore/session.ts at line 144.
What does iterator() call?
iterator() calls 2 function(s): isPool, query.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free