Page MenuHomePhabricator

Storing into a Cargo table without providing all fields results in duplicate entries
Open, Needs TriagePublicBUG REPORT

Description

List of steps to reproduce:

  • Create a Cargo table with however many fields/columns.
  • Create a template that does a #cargo_store into that table, but leave out one of the fields (completely leave it out - don't set it to a blank value)
  • Use that template somewhere to perform a store into that table. You should now see the Cargo table contain one row.
  • Edit that same page again (may be a null edit). The Cargo table should now have a duplicate entry.
  • Modify the #cargo_store to now define every field. Duplicate entries should no longer occur on subsequent edits to the storing page.

What happens?:
If any fields are missing when performing a #cargo_store, duplicate rows may be added to the table when the storing page is edited.

What should have happened instead?:
#cargo_stores that are missing a field should not result in duplicate rows when the page is subsequently edited.

Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc:
MediaWiki 1.35.3, Cargo 2.8

This was discovered on Nookipedia. We were experiencing issues with duplicates on our nh_recipe table. This table has a notes column that we don't usually define when storing into the table. After adding an empty notes field to our Template:NHFurniture's nh_recipe #cargo_store (diff), we found that editing NH furniture pages no longer creates duplicates in the nh_recipe table.