PgRefreshMaterializedView Class — drizzle-orm Architecture
Architecture documentation for the PgRefreshMaterializedView class in refresh-materialized-view.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 4290a7a8_4f2b_6cec_2b27_e81313bf4d01["PgRefreshMaterializedView"] 41476081_497d_90a4_b230_43e26c58011b["refresh-materialized-view.ts"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|defined in| 41476081_497d_90a4_b230_43e26c58011b 561ee368_f6b4_bae3_869d_8d4b2e53fed7["constructor()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| 561ee368_f6b4_bae3_869d_8d4b2e53fed7 ad674917_fca2_6bf1_8b0f_c0562d9de9f8["concurrently()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| ad674917_fca2_6bf1_8b0f_c0562d9de9f8 02aa3b35_d539_e914_f954_7675c49dab0c["withNoData()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| 02aa3b35_d539_e914_f954_7675c49dab0c 15243156_6c20_c1ea_d2ec_11274503187b["getSQL()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| 15243156_6c20_c1ea_d2ec_11274503187b 15d4803b_9d4e_efe4_c205_c7325da714d4["toSQL()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| 15d4803b_9d4e_efe4_c205_c7325da714d4 e6527b48_9946_f88a_c1ac_3a27b011358b["_prepare()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| e6527b48_9946_f88a_c1ac_3a27b011358b ef1f5a93_e85d_ce36_14cc_056a1d5f0400["prepare()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| ef1f5a93_e85d_ce36_14cc_056a1d5f0400 f053f3a2_712b_49c3_821e_8ad7cc8412c4["setToken()"] 4290a7a8_4f2b_6cec_2b27_e81313bf4d01 -->|method| f053f3a2_712b_49c3_821e_8ad7cc8412c4
Relationship Graph
Source Code
drizzle-orm/src/pg-core/query-builders/refresh-materialized-view.ts lines 30–108
export class PgRefreshMaterializedView<TQueryResult extends PgQueryResultHKT>
extends QueryPromise<PgQueryResultKind<TQueryResult, never>>
implements RunnableQuery<PgQueryResultKind<TQueryResult, never>, 'pg'>, SQLWrapper
{
static override readonly [entityKind]: string = 'PgRefreshMaterializedView';
private config: {
view: PgMaterializedView;
concurrently?: boolean;
withNoData?: boolean;
};
constructor(
view: PgMaterializedView,
private session: PgSession,
private dialect: PgDialect,
) {
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): PgPreparedQuery<
PreparedQueryConfig & {
execute: PgQueryResultKind<TQueryResult, never>;
}
> {
return tracer.startActiveSpan('drizzle.prepareQuery', () => {
return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), undefined, name, true);
});
}
prepare(name: string): PgPreparedQuery<
PreparedQueryConfig & {
execute: PgQueryResultKind<TQueryResult, never>;
}
> {
return this._prepare(name);
}
private authToken?: NeonAuthToken;
/** @internal */
setToken(token: NeonAuthToken) {
this.authToken = token;
return this;
}
execute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {
return tracer.startActiveSpan('drizzle.operation', () => {
return this._prepare().execute(placeholderValues, this.authToken);
});
};
}
Domain
Source
Frequently Asked Questions
What is the PgRefreshMaterializedView class?
PgRefreshMaterializedView is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/query-builders/refresh-materialized-view.ts.
Where is PgRefreshMaterializedView defined?
PgRefreshMaterializedView is defined in drizzle-orm/src/pg-core/query-builders/refresh-materialized-view.ts at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free