Skip to main content

Module refresh

Module refresh 

Source
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§

RefreshConcurrently
RefreshMaterializedView state after .concurrently().
RefreshInitial
RefreshMaterializedView state before any option is chosen.
RefreshMaterializedView
Builds a REFRESH MATERIALIZED VIEW statement.
RefreshWithNoData
RefreshMaterializedView state after .with_no_data().

Functions§

refresh_materialized_view
Starts REFRESH MATERIALIZED VIEW view. Same as RefreshMaterializedView::new.