I have some large tables in CCK (one is over 500,000 entries), and the update for Text #6003 keeps failing. Not only do I have numerous fields and tables, but many of them are TEXT or VARCHAR fields. My server has an internal timeout per page load, and I keep encountering that error. Although I can change that setting, some other systems may not be able to.
Looking at the update (#6001), I'd think that would be easy to convert to a full-on batch.
Comments
Comment #1
fractile81 commentedHere's a modification of the update to use the built-in batching functionality:
Then you also have to update the 6003 update as well:
With these changes, I've been able to complete the update with my data. There's also an issue where shared fields will have their table updated for each node type that shares it, which is somewhat wasteful. I admit that the $sandbox['visited'] part could probably be done a bit better, but this can hopefully be a starting point for something like this. The real question is whether this is the right approach for the update?
Comment #2
karens commentedThe idea makes sense, but I don't want to commit this without testing and I don't have a setup that can test this. I'll let yched weigh in on whether or not to add this in.
Comment #3
yched commented+1 on the principle. This update should be multipass. I'll try to test ASAP.
Comment #4
yched commentedTested, works fine.
I applied the same treatment to nodereference_update_6000(), which could potentially suffer from this as well.
Committed. Thanks !
PS : IMO we don't need to force sites already upgraded to re-run this update.
Comment #5
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.