Page MenuHomePhabricator

The pattern is not working for mass delete (Nuke)
Closed, ResolvedPublic

Description

  1. https://pl.wikipedia.org/w/index.php?title=Specjalna:Masowe_usuwanie
  2. Choose my name
  3. Search for a page I created and is in RC, e.g.: "Nux/CzyWieszTest/test"
  4. submit: shows "Nux/CzyWieszTest/test"
  5. Go back and search for "Nux/CzyWieszTest/%"
  6. -> No results.

I think the problem is here:
https://github.com/wikimedia/mediawiki-extensions-Nuke/blob/60d12bb79b0359c4460c0da522bf902df557065d/includes/SpecialNuke.php#L379

$queryBuilder->andWhere( $dbr->expr( 'rc_title', IExpression::LIKE, new LikeValue( $pattern ) ) );

It creates a LikeValue from a string. But when LikeValue is a string it is escaped:
https://gerrit.wikimedia.org/g/mediawiki/core/+/29e7bdfbbc930f99cfdb89cb680e954032a1f8dd/includes/libs/rdbms/expression/LikeValue.php#35

Seems like the pattern needs to be LikeMatch or use something different then LikeValue.

Full match formSubmitted formPartial match that shows nothing (bug)
obraz.png (806×947 px, 59 KB)
obraz.png (806×947 px, 67 KB)
obraz.png (806×947 px, 59 KB)

Query I used to check RC (the query on the quarry):

select * from recentchanges rc
left join actor a on rc_actor = actor_id
where actor_name = 'Nux'
and rc_new = 1
and rc_title like 'Nux/CzyWieszTest/%'
order by rc_id asc
limit 10

Event Timeline

Umherirrender subscribed.

Seems a regression from 910ce4c870da9e1a793770093d278d4f00042838
It needs use of raw sql as written in the comment above of that code

Change 992103 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/Nuke@master] Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992103

We already broke this once a few years ago: T123449 – this time I'm adding a test case so that it doesn't happen again.

Change 992126 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/core@master] POC: Support LikeMatch with custom escape character

https://gerrit.wikimedia.org/r/992126

Change 992127 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Nuke@master] POC: Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992127

Change 992103 merged by jenkins-bot:

[mediawiki/extensions/Nuke@master] Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992103

Change 992376 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/Nuke@wmf/1.42.0-wmf.14] Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992376

Change 992377 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/Nuke@wmf/1.42.0-wmf.15] Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992377

Change 992377 merged by jenkins-bot:

[mediawiki/extensions/Nuke@wmf/1.42.0-wmf.15] Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992377

Mentioned in SAL (#wikimedia-operations) [2024-01-23T14:23:05Z] <logmsgbot> lucaswerkmeister-wmde@deploy2002 Started scap: Backport for [[gerrit:992377|Restore support for matching 'LIKE' patterns/wildcards (T355478)]]

Mentioned in SAL (#wikimedia-operations) [2024-01-23T14:24:48Z] <logmsgbot> lucaswerkmeister-wmde@deploy2002 matmarex and lucaswerkmeister-wmde: Backport for [[gerrit:992377|Restore support for matching 'LIKE' patterns/wildcards (T355478)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-01-23T14:33:35Z] <logmsgbot> lucaswerkmeister-wmde@deploy2002 Finished scap: Backport for [[gerrit:992377|Restore support for matching 'LIKE' patterns/wildcards (T355478)]] (duration: 10m 29s)

Change 992376 merged by jenkins-bot:

[mediawiki/extensions/Nuke@wmf/1.42.0-wmf.14] Restore support for matching 'LIKE' patterns/wildcards

https://gerrit.wikimedia.org/r/992376

Mentioned in SAL (#wikimedia-operations) [2024-01-23T14:34:42Z] <logmsgbot> lucaswerkmeister-wmde@deploy2002 Started scap: Backport for [[gerrit:992376|Restore support for matching 'LIKE' patterns/wildcards (T355478)]]

Mentioned in SAL (#wikimedia-operations) [2024-01-23T14:36:36Z] <logmsgbot> lucaswerkmeister-wmde@deploy2002 matmarex and lucaswerkmeister-wmde: Backport for [[gerrit:992376|Restore support for matching 'LIKE' patterns/wildcards (T355478)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-01-23T14:42:33Z] <logmsgbot> lucaswerkmeister-wmde@deploy2002 Finished scap: Backport for [[gerrit:992376|Restore support for matching 'LIKE' patterns/wildcards (T355478)]] (duration: 07m 50s)

Fixed and deployed to Wikimedia wikis.