⚓ T334661 rdbms: Find a way to use IDatabase::unionConditionPermutations without raw SQL


Article Images

Create Task

Maniphest T334661

rdbms: Find a way to use IDatabase::unionConditionPermutations without raw SQL

Closed, ResolvedPublic

Description

The use of IDatabase::unionConditionPermutations results in use of raw sql via IDatabase::query and needs a replacement.

Maybe the new UnionQueryBuilder (T333690) can take care of this permutation condition.

Event Timeline

Restricted Application added a project: Performance-Team. · View Herald TranscriptApr 13 2023, 10:48 AM

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

It's only used in Special:ShortPages, I honestly think we probably should get rid of it. From a glance it should be possible to refactor it to avoid it but maybe I'm missing something

Umherirrender added a comment.EditedApr 13 2023, 11:26 AM

It was added to SpecialShortPages with T168010 / 3a10ab5

I read it and honestly it doesn't justify a dedicated and complex method like this. Specially given the fact that we are moving away from arrays as "query"s

Change 926570 had a related patch set uploaded (by Ladsgroup; author: Amir Sarabadani):

[mediawiki/core@master] Completely get rid of Database::unionConditionPermutations()

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

Change 927258 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/core@master] SpecialShortPages: Document reason for "reallyDoQuery" override

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

Change 926570 merged by jenkins-bot:

[mediawiki/core@master] rdbms: Remove Database::unionConditionPermutations() and callers

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

Ladsgroup closed this task as Resolved.Jun 6 2023, 6:14 AM

Ladsgroup claimed this task.

Ladsgroup edited projects, added DBA; removed Patch-For-Review.

Ladsgroup moved this task from Triage to Done on the DBA board.

Change 927258 merged by jenkins-bot:

[mediawiki/core@master] SpecialShortPages: Document reason for "reallyDoQuery" override

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

Content licensed under Creative Commons Attribution-ShareAlike (CC BY-SA) 4.0 unless otherwise noted; code licensed under GNU General Public License (GPL) 2.0 or later and other open source licenses. By using this site, you agree to the Terms of Use, Privacy Policy, and Code of Conduct. · Wikimedia Foundation · Privacy Policy · Code of Conduct · Terms of Use · Disclaimer · CC-BY-SA · GPL · Credits