Page MenuHomePhabricator

page deletion throws database error on postgresql
Closed, ResolvedPublic

Description

Author: river

Description:
running r34858 on postgres 8.2.6, deleting a page gives this error:

MediaWiki internal error.

Original exception: exception 'DBUnexpectedError' with message 'A database error has occurred
Query: INSERT INTO archive (ar_namespace,ar_title,ar_comment,ar_user,ar_user_text,ar_timestamp,ar_minor_edit,ar_rev_id,ar_text_id,ar_text,ar_flags,ar_len,ar_page_id,ar_deleted) SELECT page_namespace,page_title,rev_comment,rev_user,rev_user_text,rev_timestamp,rev_minor_edit,rev_id,rev_text_id,'','',rev_len,page_id,rev_deleted FROM page,revision WHERE page_id = '405' AND (page_id = rev_page)
Function: Article::doDeleteArticle
Error: 1 ERROR: column "ar_deleted" is of type smallint but expression is of type character
LINE 1: ..._id,ar_text_id,ar_text,ar_flags,ar_len,ar_page_id,ar_deleted...
^
HINT: You will need to rewrite or cast the expression.
' in /int/home/mediawiki/wiki/includes/DatabasePostgres.php:978
Stack trace:
#0 /int/home/mediawiki/wiki/includes/Database.php(541): DatabasePostgres->reportQueryError('ERROR: column ...', 1, 'INSERT INTO ar...', 'Article::doDele...', false)
#1 /int/home/mediawiki/wiki/includes/Database.php(1707): Database->query('INSERT INTO ar...', 'Article::doDele...')
#2 /int/home/mediawiki/wiki/includes/Article.php(2325): Database->insertSelect('archive', Array, Array, Array, 'Article::doDele...')
#3 /int/home/mediawiki/wiki/includes/Article.php(2242): Article->doDeleteArticle('content was: 'k...', false)
#4 /int/home/mediawiki/wiki/includes/Article.php(2052): Article->doDelete('content was: 'k...', false)
#5 /int/home/mediawiki/wiki/includes/Wiki.php(449): Article->delete()
#6 /int/home/mediawiki/wiki/includes/Wiki.php(59): MediaWiki->performAction(Object(OutputPage), Object(Article), Object(Title), Object(User), Object(WebRequest))
#7 /int/home/mediawiki/wiki/index.php(92): MediaWiki->initialize(Object(Title), Object(Article), Object(OutputPage), Object(User), Object(WebRequest))
#8 /int/docroots/mediawiki/w/index.php(3): include_once('/int/home/media...')
#9 {main}


Version: 1.13.x
Severity: major
OS: Solaris
Platform: Other

Details

Reference
bz14138

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:10 PM
bzimport set Reference to bz14138.
bzimport added a subscriber: Unknown Object (MLST).

I remember setting those chars to integers, not sure if greg made an updater script for that.

Please try out r34893 and see if that does the trick once you run update.php

river wrote:

yes, this fixes the problem. thanks!