Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature: Implement
Shape::widen
which enables widening a Shape
to…
… fit a provided `AsNode`. This sets the groundwork for performantly keeping track of a running inferred schema in the combiner. Of note, the schemas "inferred" by `widen()` are maximally strict: * By default, newly inferred objects have have `additionalProperties: false`. * Object fields initially have `required: true` until we encounter a document missing that field, at which point it will be downgraded to `required: false` The next piece of work is implementing the stubbed-out `enforce_field_count_limits`. With that, we should have everything we need to implement the running inferred schema and emit it to the ops logs. Also of note is that the `reduce: flow-inferred-schema-merge` reduction annotation implementation can and should also use `enforce_field_count_limits`, as it's possible for itra-transaction documents to not exceed the limits while inter-transaction documents do, and we care about limiting both of those cases.
- Loading branch information