This is a follow up to #844186: Clarify merge queries, keys() says

* The fields are copied to the condition of the query and the INSERT part.
* If no other method is called, the UPDATE will become a no-op.

the following should be added

Because of this the keys method should be called after fields() / insertFields().

And probably the key method should note this as well.

A @see to DatabaseCacheTagsChecksum::doInvalidateTags is not a bad idea either

Submitting a patch is no longer supported, submitting an MR is too much work.

Disclaimer: I no longer contribute to Drupal for free, this came up during work while writing the Temporal module.

Issue fork drupal-3623197

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

ghost of drupal past created an issue. See original summary.

nicxvan’s picture

Issue tags: +Novice

sapnil_biswas made their first commit to this issue’s fork.

sapnil_biswas’s picture

Status: Active » Needs review

jedihe made their first commit to this issue’s fork.

jedihe’s picture

Kernel tests seem to all pass (not fully familiar on how to interpret results, but I see pass for MergeTest class in the three DB engines). Given this, I think it's useful to have tests for the ordering-sensitivity.

ghost of drupal past’s picture

great, if there are such tests then the @see should go there instead of cache