Last modified: 2010-05-15 15:52:04 UTC

Wikimedia Bugzilla is closed!

Wikimedia has migrated from Bugzilla to Phabricator. Bug reports should be created and updated in Wikimedia Phabricator instead. Please create an account in Phabricator and add your Bugzilla email address to it.
Wikimedia Bugzilla is read-only. If you try to edit or create any bug report in Bugzilla you will be shown an intentional error message.
In order to access the Phabricator task corresponding to a Bugzilla report, just remove "static-" from its URL.
You could still run searches in Bugzilla or access your list of votes but bug reports will obviously not be up-to-date in Bugzilla.
Bug 10109 - PostgreSQL API bug in ApiQueryWatchlist::run
PostgreSQL API bug in ApiQueryWatchlist::run
Product: MediaWiki
Classification: Unclassified
API (Other open bugs)
All All
: Normal enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
Depends on:
Blocks: postgres
  Show dependency treegraph
Reported: 2007-06-02 15:53 UTC by Ian Harding
Modified: 2010-05-15 15:52 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Description Ian Harding 2007-06-02 15:53:40 UTC
<?xml version="1.0" encoding="utf-8"?>
  <error code="internal_api_error" info="Exception Caught: A database error has occurred
Query: SELECT  rc_cur_id,rc_this_oldid,rc_namespace,rc_title,rc_new,rc_minor,rc_timestamp  FROM watchlist,page,recentchanges  WHERE (wl_namespace = rc_namespace) AND (wl_title = rc_title) AND (rc_cur_id = page_id) AND wl_user = '1' AND (rc_timestamp > '')  ORDER BY rc_timestamp DESC LIMIT 11  
Function: ApiQueryWatchlist::run
Error: 1 ERROR:  invalid input syntax for type timestamp with time zone: ""

#0 /usr/local/mediawiki-1.10.0/includes/Database.php(761): DatabasePostgres->reportQueryError('ERROR:  invalid...', 1, 'SELECT  rc_cur_...', 'ApiQueryWatchli...', false)
#1 /usr/local/mediawiki-1.10.0/includes/Database.php(1179): Database->query('SELECT  rc_cur_...', 'ApiQueryWatchli...')
#2 /usr/local/mediawiki-1.10.0/includes/api/ApiQueryBase.php(121): Database->select(Array, Array, Array, 'ApiQueryWatchli...', Array)
#3 /usr/local/mediawiki-1.10.0/includes/api/ApiQueryWatchlist.php(128): ApiQueryBase->select('ApiQueryWatchli...')
#4 /usr/local/mediawiki-1.10.0/includes/api/ApiQueryWatchlist.php(41): ApiQueryWatchlist->run()
#5 /usr/local/mediawiki-1.10.0/includes/api/ApiQuery.php(155): ApiQueryWatchlist->execute()
#6 /usr/local/mediawiki-1.10.0/includes/api/ApiMain.php(225): ApiQuery->execute()
#7 /usr/local/mediawiki-1.10.0/includes/api/ApiMain.php(137): ApiMain->executeAction()
#8 /usr/local/mediawiki-1.10.0/includes/api/ApiMain.php(126): ApiMain->executeActionWithErrorHandling()
#9 /usr/local/mediawiki-1.10.0/api.php(38): ApiMain->execute()
#10 {main}

Comment 1 Greg Sabino Mullane 2007-06-02 18:00:12 UTC
Not sure why ApiQueryWatchlist.php has a hardcoded:
rc_timestamp > ''
I'm hesitant to remove or change until I understand why this is done, so cc'ing the author of that file.
Comment 2 Yuri Astrakhan 2007-06-03 03:30:12 UTC
This has something to do with the way mysql does indexing and query optimizations. I implemented it this way in order to match the query as used in the special:watchlist 
Comment 3 Greg Sabino Mullane 2007-06-03 04:04:06 UTC
The new subversion server won't let me commit, but we can isolate this to MySQL by adding:
 if ( $wgDBtype == 'mysql' )
before line 135, and adding $wgDBtype to the global declaration at line 54.
Comment 4 Yuri Astrakhan 2007-06-03 14:18:36 UTC
fixed in r22676

Note You need to log in before you can comment on or make changes to this bug.