Page MenuHomePhabricator

Use expression builder instead of raw SQL in Linter
Closed, ResolvedPublic

Description

Now that T210206: Deprecate raw SQL conditions for IDatabase methods (select, insert, etc.) is done, this extension should migrate away from building and passing around raw SQL to expression builders.

It improves readability and security of the code and is more aligned with industry practices easing onboarding.

For more information check T210206 and T350075.

Calls to Database::addQuotes(), ::buildLike(), ::makeList() indicate that raw SQL is being built and passed around.

Event Timeline

Change 982390 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/core@master] Make IndexPager more SelectQueryBuilder-compatible

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

Change 982393 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/extensions/Linter@master] Update LintErrorPager to expression builder

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

Change 983199 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/extensions/Linter@master] Remove addQuotes in ApiQueryLintErrors

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

Change 982393 merged by jenkins-bot:

[mediawiki/extensions/Linter@master] Update LintErrorPager to expression builder

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

Change 983199 merged by jenkins-bot:

[mediawiki/extensions/Linter@master] Replace addQuotes in ApiQueryLintErrors by expression builder

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

Change 983393 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/extensions/Linter@master] Migrate Database.php to use QueryBuilders everywhere

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

Change 983393 merged by jenkins-bot:

[mediawiki/extensions/Linter@master] Migrate Database.php to use QueryBuilders everywhere

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

Change #982390 abandoned by Isabelle Hurbain-Palatin:

[mediawiki/core@master] Make IndexPager more SelectQueryBuilder-compatible

Reason:

This might be a reasonable thing to do but we fixed Linter otherwise, and it's been open for > 1 year, so let's drop it for now.

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