Home / Class/ SingleStoreRemoteSession Class — drizzle-orm Architecture

SingleStoreRemoteSession Class — drizzle-orm Architecture

Architecture documentation for the SingleStoreRemoteSession class in session.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  727d44ea_818d_2a16_7d69_b20d7db81f64["SingleStoreRemoteSession"]
  41dec58c_4b3d_714e_c573_122447f23c5a["session.ts"]
  727d44ea_818d_2a16_7d69_b20d7db81f64 -->|defined in| 41dec58c_4b3d_714e_c573_122447f23c5a
  38de1c03_06e4_2aa2_1dca_c5679bae9ccf["constructor()"]
  727d44ea_818d_2a16_7d69_b20d7db81f64 -->|method| 38de1c03_06e4_2aa2_1dca_c5679bae9ccf
  7dc8eeb9_d942_601b_53f6_4454ab1e41bf["prepareQuery()"]
  727d44ea_818d_2a16_7d69_b20d7db81f64 -->|method| 7dc8eeb9_d942_601b_53f6_4454ab1e41bf
  19173ea7_28fb_b82b_3b7a_810477649965["all()"]
  727d44ea_818d_2a16_7d69_b20d7db81f64 -->|method| 19173ea7_28fb_b82b_3b7a_810477649965
  a92f376d_877d_d0b0_40ae_18cd9479497e["transaction()"]
  727d44ea_818d_2a16_7d69_b20d7db81f64 -->|method| a92f376d_877d_d0b0_40ae_18cd9479497e

Relationship Graph

Source Code

drizzle-orm/src/singlestore-proxy/session.ts lines 29–78

export class SingleStoreRemoteSession<
	TFullSchema extends Record<string, unknown>,
	TSchema extends TablesRelationalConfig,
> extends SingleStoreSession<SingleStoreRemoteQueryResultHKT, SingleStoreRemotePreparedQueryHKT, TFullSchema, TSchema> {
	static override readonly [entityKind]: string = 'SingleStoreRemoteSession';

	private logger: Logger;

	constructor(
		private client: RemoteCallback,
		dialect: SingleStoreDialect,
		private schema: RelationalSchemaConfig<TSchema> | undefined,
		options: SingleStoreRemoteSessionOptions,
	) {
		super(dialect);
		this.logger = options.logger ?? new NoopLogger();
	}

	prepareQuery<T extends SingleStorePreparedQueryConfig>(
		query: Query,
		fields: SelectedFieldsOrdered | undefined,
		customResultMapper?: (rows: unknown[][]) => T['execute'],
		generatedIds?: Record<string, unknown>[],
		returningIds?: SelectedFieldsOrdered,
	): PreparedQueryKind<SingleStoreRemotePreparedQueryHKT, T> {
		return new PreparedQuery(
			this.client,
			query.sql,
			query.params,
			this.logger,
			fields,
			customResultMapper,
			generatedIds,
			returningIds,
		) as PreparedQueryKind<SingleStoreRemotePreparedQueryHKT, T>;
	}

	override all<T = unknown>(query: SQL): Promise<T[]> {
		const querySql = this.dialect.sqlToQuery(query);
		this.logger.logQuery(querySql.sql, querySql.params);
		return this.client(querySql.sql, querySql.params, 'all').then(({ rows }) => rows) as Promise<T[]>;
	}

	override async transaction<T>(
		_transaction: (tx: SingleStoreProxyTransaction<TFullSchema, TSchema>) => Promise<T>,
		_config?: SingleStoreTransactionConfig,
	): Promise<T> {
		throw new Error('Transactions are not supported by the SingleStore Proxy driver');
	}
}

Domain

Frequently Asked Questions

What is the SingleStoreRemoteSession class?
SingleStoreRemoteSession is a class in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore-proxy/session.ts.
Where is SingleStoreRemoteSession defined?
SingleStoreRemoteSession is defined in drizzle-orm/src/singlestore-proxy/session.ts at line 29.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free