Expand description
REFRESH MATERIALIZED VIEW statements for PostgreSQL.
Build the statement with refresh_materialized_view or
RefreshMaterializedView::new and run it with a driver’s
execute(...), which accepts any ToSQL value.
§Examples
use drizzle_postgres::builder::refresh::RefreshMaterializedView;
use drizzle_core::ToSQL;
// `user_stats` stands for a materialized view defined with `#[PostgresView]`.
let refresh = RefreshMaterializedView::new(&user_stats);
assert_eq!(refresh.to_sql().sql(), r#"REFRESH MATERIALIZED VIEW "user_stats""#);
// Keep the view readable while it refreshes (needs a unique index).
let refresh = RefreshMaterializedView::new(&user_stats).concurrently();
assert_eq!(
refresh.to_sql().sql(),
r#"REFRESH MATERIALIZED VIEW CONCURRENTLY "user_stats""#
);
// Empty the view; it cannot be queried until refreshed again.
let refresh = RefreshMaterializedView::new(&user_stats).with_no_data();
assert_eq!(
refresh.to_sql().sql(),
r#"REFRESH MATERIALIZED VIEW "user_stats" WITH NO DATA"#
);Structs§
- Refresh
Concurrently RefreshMaterializedViewstate after.concurrently().- Refresh
Initial RefreshMaterializedViewstate before any option is chosen.- Refresh
Materialized View - Builds a
REFRESH MATERIALIZED VIEWstatement. - Refresh
With NoData RefreshMaterializedViewstate after.with_no_data().
Functions§
- refresh_
materialized_ view - Starts
REFRESH MATERIALIZED VIEW view. Same asRefreshMaterializedView::new.