Materialized dataset __is_deleted not behaving correctly when deleting objects through workshop

We have an object type with edits enabled, backed by a materialized dataset. The dataset schema includes the system columns _is_deleted and __patch_offset. When we delete an object via a Delete action, the row disappears entirely from the materialized dataset. We expected it to stay with __is_deleted = true so we could use it for auditing and filtering in downstream transforms. Looking at the schema, we found that the primary key resolution includes “deletionColumn”: “_is_deleted”, which appears to auto-filter deleted rows at read time.

We tried removing the deletionColumn setting from the schema, but it gets set to null instead of being fully removed. After that, deleted rows did show up in the dataset, but all columns other than the primary key had null values. Additionally, the setting reverts back to __is_deleted as soon as we trigger any edit from the Workshop table that refreshes the materialized view, so the change doesn’t persist.

Very interesting question! I don’t have any suggestion but I am curious about the resolution.

I was always wondering why the is_deleted column is always false. Never thought about checking the schema and primary key resolution definition. Thanks for highlighting!