Insert test page into DB not to violate constraint
authorsaper <saper@saper.info>
Sat, 7 Dec 2013 15:40:58 +0000 (16:40 +0100)
committerIAlex <codereview@emsenhuber.ch>
Sun, 15 Dec 2013 19:38:18 +0000 (19:38 +0000)
commitcb9e38a7e6d678a43ba5d544f8decf4d36cfcdff
tree7d810504db3ccc913aab3e48cd40314b8b0ebf42
parenteef7b9be2ac03740f8938f60c59b90b8d590fb0c
Insert test page into DB not to violate constraint

Page with id 0 does not exist at the time transaction
is committed to the database.

Unit tests with table constraints enabled
fail with:

1) RevisionStorageTest::testUserWasLastToEdit with data set #0 (3, true)
DBQueryError: A database error has occurred. Did you forget to run
maintenance/update.php after upgrading?  See:
https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script
Query: INSERT INTO "unittest_revision"
(rev_id,rev_page,rev_text_id /* more fields */ )
VALUES ('461','0','460' /* more fields */
Function: Revision::insertOn
Error: 23503 ERROR:  insert or update on table "unittest_revision"
violates foreign key constraint "ut_revision_rev_page_fkey"
DETAIL:  Key (rev_page)=(0) is not present in table "unittest_page".

/usr/home/saper/test/mytest/includes/db/Database.php:1111
/usr/home/saper/test/mytest/includes/db/DatabasePostgres.php:511
/usr/home/saper/test/mytest/includes/db/Database.php:1077
/usr/home/saper/test/mytest/includes/db/DatabasePostgres.php:871
/usr/home/saper/test/mytest/includes/Revision.php:1422
/usr/home/saper/test/mytest/tests/phpunit/includes/RevisionStorageTest.php:488
/usr/home/saper/test/mytest/tests/phpunit/MediaWikiTestCase.php:123
/usr/home/saper/test/mytest/tests/phpunit/MediaWikiPHPUnitCommand.php:80
/usr/home/saper/test/mytest/tests/phpunit/MediaWikiPHPUnitCommand.php:64
/usr/home/saper/test/mytest/tests/phpunit/phpunit.php:115

Change-Id: I653a8bccdaa748a9bea453cd1dbf609a30e1ff6f
tests/phpunit/includes/RevisionStorageTest.php