Page MenuHomePhabricator

Migrate raw SQL building in conditions to expression builder in core
Open, Needs TriagePublic

Description

Now T210206: Deprecate raw SQL conditions for IDatabase methods (select, insert, etc.) is mostly done, devs should start migrating their codebases away from building raw SQL.

See below as examples of adoption:

Also these regexes can migrate simple cases:

'([A-Za-z_\.]+) ?(=|!=|<|<=|>|>=) ?' . (\$db(?:r|w|))->addQuotes\( (.+?) \)
to:
$3->expr\( '$1', '$2', $4 \)

and

'([A-Za-z_\.]+) IS NULL OR ([A-Za-z_\.]+) ?(=|!=|<|<=|>|>=) ?' . (\$db(?:r|w|))->addQuotes\( (.+?) \)
to:
$4->expr( '$1', '=', null )->or\( '$2', '$3', $5 \)

Event Timeline

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

[mediawiki/core@master] Migrate several more raw SQL building to expression builders

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

Change #1014531 merged by jenkins-bot:

[mediawiki/core@master] Migrate several more raw SQL building to expression builders

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