fix: box the cascade refresh future

The cascade future nests a refresh future per hop, and computing its
layout overflowed the default query depth in crates that await it, such
as the Python bindings.
This commit is contained in:
Wyatt Alt
2026-09-24 20:48:54 +00:00
parent ee1de30d53
commit f5435a4b77
+2 -1
View File
@@ -2020,7 +2020,8 @@ impl RefreshMaterializedViewBuilder {
let (table, full, pinned) = (&self.view.table, self.full, self.source_version);
let expected = self.expected_incarnation.as_deref();
if self.cascade {
refresh::execute_cascade(table, full, pinned, expected).await
// Boxed: its nested refresh futures overflow callers' query depth.
Box::pin(refresh::execute_cascade(table, full, pinned, expected)).await
} else {
refresh::execute_refresh(table, full, pinned, expected).await
}