Do not evaluate submittability and override expression if SubmitRequirement is non-applicable This is a performance optimization for expensive SubmitRequirements: since for non-applicable SubmitRequirement the submittabilityExpressionResult and overridesExpressionResult are not used, it is not needed to evaluate potentially expensive SubmitRequirementExpression. This change also makes submittabilityExpressionResult Optional field in SubmitRequirementResult, changing the storage format in NoteDb. The previous change made serialization/deserialization both backward and forward compatible, so that updated binaries could read old format and the non-updated binaries could read new data. Google-Bug-Id: b/216444397 Change-Id: Iede127dc7bf6daa75ca80f1eda23229ca42b2a12
diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt index 82a9638..fb81b71 100644 --- a/Documentation/rest-api-changes.txt +++ b/Documentation/rest-api-changes.txt
@@ -8286,13 +8286,16 @@ submit requirement did not define an applicability expression. Note that fields `expression`, `passing_atoms` and `failing_atoms` are always omitted for the `applicability_expression_result`. -|`submittability_expression_result`|| +|`submittability_expression_result`|optional| A link:#submit-requirement-expression-info[SubmitRequirementExpressionInfo] -containing the result of evaluating the submittability expression. +containing the result of evaluating the submittability expression. + +If the submit requirement does not apply, the expression is not evaluated and +the field is not set. |`override_expression_result`|optional| A link:#submit-requirement-expression-info[SubmitRequirementExpressionInfo] -containing the result of evaluating the override expression. Not set if the -submit requirement did not define an override expression. +containing the result of evaluating the override expression. + +Not set if the submit requirement did not define an override expression or +if it does not apply. |=========================== [[submitted-together-info]]