Home / Class/ GelRefreshMaterializedView Class — drizzle-orm Architecture

GelRefreshMaterializedView Class — drizzle-orm Architecture

Architecture documentation for the GelRefreshMaterializedView class in refresh-materialized-view.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c["GelRefreshMaterializedView"]
  407d31e6_0821_26fb_d684_39fb0c14d1f7["refresh-materialized-view.ts"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|defined in| 407d31e6_0821_26fb_d684_39fb0c14d1f7
  d3e846c6_84dc_a157_6469_b4a948cc284a["constructor()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| d3e846c6_84dc_a157_6469_b4a948cc284a
  eac4161f_bb59_68fc_0fce_179b80370ead["concurrently()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| eac4161f_bb59_68fc_0fce_179b80370ead
  ee4f955c_b945_4509_5872_a14e782f95f0["withNoData()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| ee4f955c_b945_4509_5872_a14e782f95f0
  3426a0ca_4fd4_75fa_6380_20c4cd256b3a["getSQL()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| 3426a0ca_4fd4_75fa_6380_20c4cd256b3a
  175d15e4_b2c6_e0cd_ca28_bc73c7e5f18d["toSQL()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| 175d15e4_b2c6_e0cd_ca28_bc73c7e5f18d
  09498e60_64eb_b831_2fb1_2177701ba084["_prepare()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| 09498e60_64eb_b831_2fb1_2177701ba084
  77d070d8_a117_7d68_2600_968192b708c7["prepare()"]
  b2b0bea0_f40b_7c35_fa7c_ae8c5a89bd6c -->|method| 77d070d8_a117_7d68_2600_968192b708c7

Relationship Graph

Source Code

drizzle-orm/src/gel-core/query-builders/refresh-materialized-view.ts lines 29–100

export class GelRefreshMaterializedView<TQueryResult extends GelQueryResultHKT>
	extends QueryPromise<GelQueryResultKind<TQueryResult, never>>
	implements RunnableQuery<GelQueryResultKind<TQueryResult, never>, 'gel'>, SQLWrapper
{
	static override readonly [entityKind]: string = 'GelRefreshMaterializedView';

	private config: {
		view: GelMaterializedView;
		concurrently?: boolean;
		withNoData?: boolean;
	};

	constructor(
		view: GelMaterializedView,
		private session: GelSession,
		private dialect: GelDialect,
	) {
		super();
		this.config = { view };
	}

	concurrently(): this {
		if (this.config.withNoData !== undefined) {
			throw new Error('Cannot use concurrently and withNoData together');
		}
		this.config.concurrently = true;
		return this;
	}

	withNoData(): this {
		if (this.config.concurrently !== undefined) {
			throw new Error('Cannot use concurrently and withNoData together');
		}
		this.config.withNoData = true;
		return this;
	}

	/** @internal */
	getSQL(): SQL {
		return this.dialect.buildRefreshMaterializedViewQuery(this.config);
	}

	toSQL(): Query {
		const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL());
		return rest;
	}

	/** @internal */
	_prepare(name?: string): GelPreparedQuery<
		PreparedQueryConfig & {
			execute: GelQueryResultKind<TQueryResult, never>;
		}
	> {
		return tracer.startActiveSpan('drizzle.prepareQuery', () => {
			return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), undefined, name, true);
		});
	}

	prepare(name: string): GelPreparedQuery<
		PreparedQueryConfig & {
			execute: GelQueryResultKind<TQueryResult, never>;
		}
	> {
		return this._prepare(name);
	}

	execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {
		return tracer.startActiveSpan('drizzle.operation', () => {
			return this._prepare().execute(placeholderValues);
		});
	};
}

Frequently Asked Questions

What is the GelRefreshMaterializedView class?
GelRefreshMaterializedView is a class in the drizzle-orm codebase, defined in drizzle-orm/src/gel-core/query-builders/refresh-materialized-view.ts.
Where is GelRefreshMaterializedView defined?
GelRefreshMaterializedView is defined in drizzle-orm/src/gel-core/query-builders/refresh-materialized-view.ts at line 29.

Analyze Your Own Codebase

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

Try Supermodel Free