Last modified: 2009-11-04 17:18:45 UTC
Some users have a null value for their user_registration in the user table. From enwiki: select user_id, user_name,user_registration from user where user_name='Jclemens'; +---------+-----------+-------------------+ | user_id | user_name | user_registration | +---------+-----------+-------------------+ | 200029 | Jclemens | NULL | +---------+-----------+-------------------+ But the API reports the registration time as the current time when the query is run: the query http://en.wikipedia.org/w/api.php?action=query&list=allusers&aufrom=Jclemens&auprop=registration returns: <u name="Jclemens" registration="2009-10-10T15:20:16Z" /> The problem is that the following line in APIQueryAllUsers.php is run regardless whether the user_registration is null, and apparently wfTimestamp defaults to the present time. $lastUserData['registration'] = wfTimestamp(TS_ISO_8601, $row->user_registration);
The behaviour of list=users is better: http://en.wikipedia.org/w/api.php?action=query&list=users&usprop=registration&ususers=Jclemens
Ideally the backend from users and allusers should be integrated...
Fixed in r58551.