Is it really necessary to store whole rpx_data array inside data field of users table?

We have multiple modules which save their data to users.data, but rpx_data component consumes about 85% of this field total size. With thousands of users this becomes a waste of database space.

I found two use cases for this data:

  • To load user picture from URL in _rpx_save_profile_picture()
  • To check if primary email was already verified by provider in rpx_token_handler()

The first one can be easily replaced: function _rpx_save_profile_picture() is called only from rpx_user_register_submit() and data passed from provider is available here, so it can be passed in argument to _rpx_save_profile_picture().

For the second one we could save only verified email and not the whole data array.

Am I missing something?

I'd like to help with code, provide a patch with fix and hook_update_N() if maintainers are interested in fixing this problem.

Comments

geokat’s picture

Version: 6.x-2.1-beta3 » 6.x-2.x-dev

Thanks for the report. A fix for this is in the works and should be released soon. Please stay tuned.

geokat’s picture

Status: Active » Fixed

This should be fixed in 2.2.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

Replaced "you" with "maintainers".