UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

59 lines 1.68 kB
import { entityKind } from "../../entity.js"; import { QueryPromise } from "../../query-promise.js"; import { tracer } from "../../tracing.js"; class PgRefreshMaterializedView extends QueryPromise { constructor(view, session, dialect) { super(); this.session = session; this.dialect = dialect; this.config = { view }; } static [entityKind] = "PgRefreshMaterializedView"; config; concurrently() { if (this.config.withNoData !== void 0) { throw new Error("Cannot use concurrently and withNoData together"); } this.config.concurrently = true; return this; } withNoData() { if (this.config.concurrently !== void 0) { throw new Error("Cannot use concurrently and withNoData together"); } this.config.withNoData = true; return this; } /** @internal */ getSQL() { return this.dialect.buildRefreshMaterializedViewQuery(this.config); } toSQL() { const { typings: _typings, ...rest } = this.dialect.sqlToQuery(this.getSQL()); return rest; } /** @internal */ _prepare(name) { return tracer.startActiveSpan("drizzle.prepareQuery", () => { return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()), void 0, name, true); }); } prepare(name) { return this._prepare(name); } authToken; /** @internal */ setToken(token) { this.authToken = token; return this; } execute = (placeholderValues) => { return tracer.startActiveSpan("drizzle.operation", () => { return this._prepare().execute(placeholderValues, this.authToken); }); }; } export { PgRefreshMaterializedView }; //# sourceMappingURL=refresh-materialized-view.js.map