civicrm/civicrm-core — pull request #564 by deepak-srivastava (2013-04-29 12:50:36+00:00)
Title: Fix for CRM-12428

v3.3.beta1 - had label required (NOT NULL) for fresh installations, but optional (NULL) for upgrades [refer 3.3.bat1.mysql create table structure].

4.2.alpha1 - When upgrade passes through v4.2.alpha1 stage / script :
Eileen's patch would work cleanly for pre-v3.3.beta1 installations.
Eileen's patch would still FAIL for post-v3.3.beta1 or v3.3.x installations, as label would be a required field at DB level and following code fails at DB level:
CRM_Upgrade_Snapshot_V4p2_Price_BAO_FieldValue::create($options, $optionsIds);

v4.2.3 - makes label column optional for both fresh installs and upgrades per CRM-11014

An appropriate solution would be to make label column optional at v4.2.alpha1 level itself in addition to Eileen's patch.