diff --git a/graph/src/components/store/write.rs b/graph/src/components/store/write.rs index aa56fdcc910..6f899633bd8 100644 --- a/graph/src/components/store/write.rs +++ b/graph/src/components/store/write.rs @@ -439,7 +439,7 @@ impl RowGroup { // clamping an old version match (&*prev_row, &row) { (Insert { end: None, .. } | Overwrite { end: None, .. }, Insert { .. }) - | (Remove { .. }, Overwrite { .. } | Remove { .. }) + | (Remove { .. }, Overwrite { .. }) | ( Insert { end: Some(_), .. } | Overwrite { end: Some(_), .. }, Overwrite { .. } | Remove { .. }, @@ -450,6 +450,11 @@ impl RowGroup { row )) } + (Remove { .. }, Remove { .. }) => { + // Ignore the new row, since prev_row is already a + // delete. This can happen when subgraphs delete + // entities without checking if they even exist + } ( Insert { end: Some(_), .. } | Overwrite { end: Some(_), .. } | Remove { .. }, Insert { .. },