-
Notifications
You must be signed in to change notification settings - Fork 4.1k
opt: don't allow locking null-extended rows #97434
Copy link
Copy link
Closed
Labels
C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.GA-blockerT-sql-queriesSQL Queries TeamSQL Queries Teambranch-release-23.2Used to mark GA and release blockers, technical advisories, and bugs for 23.2Used to mark GA and release blockers, technical advisories, and bugs for 23.2v23.2.1
Metadata
Metadata
Assignees
Labels
C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.GA-blockerT-sql-queriesSQL Queries TeamSQL Queries Teambranch-release-23.2Used to mark GA and release blockers, technical advisories, and bugs for 23.2Used to mark GA and release blockers, technical advisories, and bugs for 23.2v23.2.1
Type
Projects
Status
Done
Postgres doesn't allow locking (e.g. with SELECT FOR UPDATE) relations on the right side of a LEFT JOIN partially for convenience, and partially because it's unclear what the locking semantics are for join output rows that have no corresponding row from the right relation. For similar reasons, neither input of a FULL JOIN can be locked.
Currently, CRDB does not make this restriction:
Fixing this may simplify the work involved with the re-evaluation step of read-committed isolation. It may also become necessary for a correct implementation when #75457 is fixed, for the reason stated above.
Jira issue: CRDB-24694