Page MenuHomePhabricator

AbuseFilter is incompatible with PostgreSQL database
Closed, ResolvedPublic

Description

Running the maintenance/update.php script on a PostgreSQL database when the AbuseFilter extension is loaded results in this error:

[94d17a1cd1c1881e7480c9ae] [no req]   ArgumentCountError from line 699 of /srv/http/mywiki/includes/installer/PostgresUpdater.php: Too few arguments to function PostgresUpdater::changeField(), 3 passed in /srv/http/mywiki/includes/installer/DatabaseUpdater.php on line 472 and exactly 4 expected
Backtrace:
#0 /srv/http/mywiki/includes/installer/DatabaseUpdater.php(472): PostgresUpdater->changeField(string, string, string)
#1 /srv/http/mywiki/includes/installer/DatabaseUpdater.php(440): DatabaseUpdater->runUpdates(array, boolean)
#2 /srv/http/mywiki/maintenance/update.php(174): DatabaseUpdater->doUpdates(array)
#3 /srv/http/mywiki/maintenance/doMaintenance.php(111): UpdateMediaWiki->execute()
#4 /srv/http/mywiki/maintenance/update.php(219): require_once(string)
#5 {main}

Hence, the AbuseFilter extension cannot be used on systems using PostgreSQL.

Event Timeline

Which AbuseFilter version and which PostgreSQL is this about?

It's MediaWiki 1.30.0, AbuseFilter REL1_30 and PostgreSQL 10.1.

Change 405360 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Set default when changing afl_namespace on pg

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

matej_suchanek assigned this task to Reedy.
matej_suchanek removed a project: Patch-For-Review.
matej_suchanek moved this task from Backlog to Internal bugs on the AbuseFilter board.