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

Change #1033118 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] Replace IDatabase::buildLike with expression builder

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

Change #1033162 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] api: Rewrite adrto/from/prefix handling to use expression builder

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

Change #1033118 merged by jenkins-bot:

[mediawiki/core@master] Replace IDatabase::buildLike with expression builder

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

Change #1033162 merged by jenkins-bot:

[mediawiki/core@master] api: Rewrite adrto/from/prefix handling to use expression builder

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

Change #1055269 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] Use expression builder to avoid IDatabase::addQuotes

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

Change #1055290 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] watchlist: Use expression builder to avoid IDatabase::addQuotes

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

Change #1055290 merged by jenkins-bot:

[mediawiki/core@master] watchlist: Use expression builder to avoid IDatabase::addQuotes

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

Change #1055269 merged by jenkins-bot:

[mediawiki/core@master] Use expression builder to avoid IDatabase::addQuotes

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

Change #1056015 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] maintenance: Use expression builder instead of raw sql

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

Change #1056016 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] Use expression builder instead of raw sql

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

Change #1056015 merged by jenkins-bot:

[mediawiki/core@master] maintenance: Use expression builder instead of raw sql

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

Change #1056016 merged by jenkins-bot:

[mediawiki/core@master] Use expression builder instead of raw sql

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

Change #1174564 had a related patch set uploaded (by Func; author: Func):

[mediawiki/core@master] refreshLinks: Use RawSQLExpression where needed

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

Change #1174564 abandoned by Func:

[mediawiki/core@master] refreshLinks: Use RawSQLExpression where needed

Reason:

didn't check email before submission, I8fbe0ec44d1a43795a3e4c94f910e09878eebde6

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