Skip to content

Commit 3dced19

Browse files
Test REFRESH MATERIALIZED VIEW Display write errors
1 parent 6cec5da commit 3dced19

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

‎tests/sqlparser_common.rs‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22815,3 +22815,26 @@ fn test_visit_relations_refresh_materialized_view() {
2281522815
});
2281622816
assert_eq!(relations, vec!["app.m"]);
2281722817
}
22818+
22819+
#[test]
22820+
fn display_refresh_materialized_view_propagates_write_errors() {
22821+
use core::fmt::{self, Write};
22822+
22823+
struct RejectingWriter(&'static str);
22824+
22825+
impl Write for RejectingWriter {
22826+
fn write_str(&mut self, value: &str) -> fmt::Result {
22827+
if value.contains(self.0) {
22828+
Err(fmt::Error)
22829+
} else {
22830+
Ok(())
22831+
}
22832+
}
22833+
}
22834+
22835+
let statement = verified_stmt("REFRESH MATERIALIZED VIEW CONCURRENTLY app.m WITH NO DATA");
22836+
for rejected in ["REFRESH", "CONCURRENTLY", "app", "NO DATA"] {
22837+
let mut writer = RejectingWriter(rejected);
22838+
assert_eq!(write!(writer, "{statement}"), Err(fmt::Error), "{rejected}");
22839+
}
22840+
}

0 commit comments

Comments
 (0)