Implements a policy that only accepts truly idempotent mutations.
This policy accepts only truly idempotent mutations, that is, it rejects mutations where the server sets the timestamp. Some applications may find this too restrictive and can set their own policies if they wish.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["The latest version of the `SafeIdempotentMutationPolicy` is 2.37.0-rc, with a range of previous versions available from 2.36.0 down to 2.11.0."],["This policy strictly accepts only mutations that are truly idempotent, rejecting any where the timestamp is set by the server."],["The policy can be cloned using the `clone()` function, returning a unique pointer to an `IdempotentMutationPolicy`."],["The `is_idempotent` function is available to determine whether a given mutation or conditional mutation is idempotent, taking a mutation or a CheckAndMutateRowRequest as the parameter, respectively."],["The class definition for SafeIdempotentMutationPolicy provides a constructor to initialize the class."]]],[]]