1. A method for performing shared updates, comprising: receiving and storing user-provided logic for determining whether updates to a particular value in a particular column are valid in the presence of concurrent updates to the particular value in the particular column; receiving a request, associated with a particular business transaction, to perform an update to the particular value in the particular column; and in response to the request: (a) determining, for the particular column, a particular version of the particular value, wherein the particular version is one of: a projected version of the particular value that reflects changes by at least one unconfirmed business transaction different than the particular business transaction; or a confirmed version of the particular value that reflects changes by at least one confirmed business transaction different than the particular business transaction; (b) causing the user-provided logic to generate an indication of whether the update should be allowed, in the presence of concurrent updates to the particular value in the particular column, by: retrieving and invoking the user-provided logic, and passing, to the user-provided logic, the particular version of the particular value to enable the user-provided logic to determine, based on the particular version of the particular value, whether allowing the update would violate one or more constraints on the particular column; wherein the one or more constraints on the particular column correspond to a conditional expression that, based at least in part on the particular version of the particular value, evaluates to true when the update is valid; (c) determining whether to allow the update based, at least in part, on the indication.