drizzle-orm
Version:
Drizzle ORM package for SQL databases
59 lines • 1.68 kB
JavaScript
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