Page MenuHomePhabricator

ImageListPager is broken again (miser mode and comment migration stage NEW)
Closed, ResolvedPublic

Description

Much like T182245 and T19676, the GROUP BY is causing more problems. This time it whines that img_description doesn't exist.

Backtrace from my local wiki:

2019-01-04 16:21:37 [fca6f07f38e4c78eeadca67a] exception ERROR: [fca6f07f38e4c78eeadca67a] /wiki/Special:ListFiles   Wikimedia\Rdbms\DBQueryError from line 1506 of /usr/local/src/MediaWiki/core/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?
Query: SELECT  img_timestamp,img_name,img_name AS thumb,img_size,COUNT(oi_archive_name) AS count,comment_img_description.comment_text AS `img_description_text`,comment_img_description.comment_data AS `img_description_data`,comment_img_description.comment_id AS `img_description_cid`,'img_description' AS `description_field`,img_user,img_user_text,NULL AS `img_actor`  FROM `image` JOIN `comment` `comment_img_description` ON ((comment_img_description.comment_id = img_description_id)) LEFT JOIN `oldimage` ON ((oi_name = img_name))    GROUP BY img_user,img_timestamp,img_name,img_size,img_user_text,img_description ORDER BY img_timestamp DESC LIMIT 51
Function: IndexPager::buildQueryInfo (ImageListPager)
Error: 1054 Unknown column 'img_description' in 'group statement' (127.0.0.1)
 {"exception_id":"fca6f07f38e4c78eeadca67a","exception_url":"/wiki/Special:ListFiles","caught_by":"mwe_handler"}
[Exception Wikimedia\Rdbms\DBQueryError] (/usr/local/src/MediaWiki/core/includes/libs/rdbms/database/Database.php:1506) A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?
Query: SELECT  img_timestamp,img_name,img_name AS thumb,img_size,COUNT(oi_archive_name) AS count,comment_img_description.comment_text AS `img_description_text`,comment_img_description.comment_data AS `img_description_data`,comment_img_description.comment_id AS `img_description_cid`,'img_description' AS `description_field`,img_user,img_user_text,NULL AS `img_actor`  FROM `image` JOIN `comment` `comment_img_description` ON ((comment_img_description.comment_id = img_description_id)) LEFT JOIN `oldimage` ON ((oi_name = img_name))    GROUP BY img_user,img_timestamp,img_name,img_size,img_user_text,img_description ORDER BY img_timestamp DESC LIMIT 51
Function: IndexPager::buildQueryInfo (ImageListPager)
Error: 1054 Unknown column 'img_description' in 'group statement' (127.0.0.1)

  #0 /usr/local/src/MediaWiki/core/includes/libs/rdbms/database/Database.php(1476): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string)
  #1 /usr/local/src/MediaWiki/core/includes/libs/rdbms/database/Database.php(1236): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean)
  #2 /usr/local/src/MediaWiki/core/includes/libs/rdbms/database/Database.php(1703): Wikimedia\Rdbms\Database->query(string, string)
  #3 /usr/local/src/MediaWiki/core/includes/specials/pagers/ImageListPager.php(340): Wikimedia\Rdbms\Database->select(array, array, array, string, array, array)
  #4 /usr/local/src/MediaWiki/core/includes/pager/IndexPager.php(225): ImageListPager->reallyDoQuery(string, integer, boolean)
  #5 /usr/local/src/MediaWiki/core/includes/pager/IndexPager.php(609): IndexPager->doQuery()
  #6 /usr/local/src/MediaWiki/core/includes/pager/TablePager.php(292): IndexPager->isNavigationBarShown()
  #7 /usr/local/src/MediaWiki/core/includes/pager/TablePager.php(100): TablePager->getNavigationBar()
  #8 /usr/local/src/MediaWiki/core/includes/specials/SpecialListfiles.php(58): TablePager->getFullOutput()
  #9 /usr/local/src/MediaWiki/core/includes/specialpage/SpecialPage.php(569): SpecialListFiles->execute(NULL)
  #10 /usr/local/src/MediaWiki/core/includes/specialpage/SpecialPageFactory.php(558): SpecialPage->run(NULL)
  #11 /usr/local/src/MediaWiki/core/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)
  #12 /usr/local/src/MediaWiki/core/includes/MediaWiki.php(862): MediaWiki->performRequest()
  #13 /usr/local/src/MediaWiki/core/includes/MediaWiki.php(517): MediaWiki->main()
  #14 /usr/local/src/MediaWiki/core/index.php(42): MediaWiki->run()
  #15 {main}

Perhaps we should kill that GROUP BY entirely and just get the count using a subselect.

Details

Related Changes in Gerrit: