We have some custom columns in xf_user that hold some custom auth id's. For new users after we upgraded from 1.1 to 1.3 these values are returning as 0 even though they have some value like 123455 in the database. Debugging all the way down to a query being run to get user by userId shows that when I run the exact query:
SELECT user.* , user_profile.*, user_option.*, user_privacy.*, permission_combination.cache_value AS global_permission_cache FROM xf_user AS user LEFT JOIN xf_user_profile AS user_profile ON (user_profile.user_id = user.user_id) LEFT JOIN xf_user_option AS user_option ON (user_option.user_id = user.user_id) LEFT JOIN xf_user_privacy AS user_privacy ON (user_privacy.user_id = user.user_id) LEFT JOIN xf_permission_combination AS permission_combination ON (permission_combination.permission_combination_id = user.permission_combination_id) WHERE user.user_id = '12345';
return $this->_getDb()->fetchRow(' SELECT user.* ' . $joinOptions['selectFields'] . ' FROM xf_user AS user ' . $joinOptions['joinTables'] . ' WHERE user.user_id = ? ', $userId);
My question is it possible this value is getting casted to 0 based upon some expected data type? I've tried modifying the column type to VARCHAR and INTEGER to test but it still gets converted to 0. It's currently a BIGINT. Any help would be appreciated.