diff options
author | Aaron Schulz <aschulz@wikimedia.org> | 2021-05-27 12:18:56 -0700 |
---|---|---|
committer | Aaron Schulz <aschulz@wikimedia.org> | 2021-08-18 19:18:40 -0700 |
commit | acd3a537995931340b888e008251322113e58b70 (patch) | |
tree | 43604db8a6a8cbb74daa74d7c717ca5b7c322031 /includes/diff/ComplexityException.php | |
parent | a466cacfd1fd19a2cbfba8ed19f90f15129570ed (diff) | |
download | mediawikicore-acd3a537995931340b888e008251322113e58b70.tar.gz mediawikicore-acd3a537995931340b888e008251322113e58b70.zip |
rdbms: add unique key checks to upsert() and replace() in Database
Disallow changing unique key values of rows in the upsert() assignment.
The unique key values are used to decide which new and old rows collide.
Changing these values at the same time is too complex and ill-defined.
Disallow setting NULL values for columns of the identity key in upsert()
and replace(), unless they are all NULL for all of the rows. This edge
case can be treated as a plain INSERT, assuming that conflicts are not
triggered over weird DEFAULT column values.
Update the corresponding IDatabase documentation.
Change-Id: If6e0cecce32a5eedaf9a82b67ba41296bfa4a317
Diffstat (limited to 'includes/diff/ComplexityException.php')
0 files changed, 0 insertions, 0 deletions