pre_transformed_spec1: prior result of pre-transforming spec1
spec2: New input spec.
When the deltas between spec1 and spec2 are compatible with pre_transformed_spec1, then pre_transformed_spec2 is returned. But when the delta is not compatible, None should be returned.
When spec2 adds a new dataset that's not present in spec1, we currently add the new dataset to pre_transformed_spec2. But this is incorrect since the new dataset will not be pre-transformed. When a new dataset it added, patching should fail and return None.
Spec patching inputs three specs:
spec1
: prior input specpre_transformed_spec1
: prior result of pre-transforming spec1spec2
: New input spec.When the deltas between spec1 and spec2 are compatible with
pre_transformed_spec1
, thenpre_transformed_spec2
is returned. But when the delta is not compatible, None should be returned.When
spec2
adds a new dataset that's not present inspec1
, we currently add the new dataset topre_transformed_spec2
. But this is incorrect since the new dataset will not be pre-transformed. When a new dataset it added, patching should fail and return None.