-
Bug
-
Resolution: Fixed
-
High
-
3.0.1
Summary
Occasionally upgrade will fail for some customers due to case sensitivity.
For example:
2009-09-23 10:57:35,759 ERROR [Main Thread] [confluence.upgrade.upgradetask.ResizeProfileImagesUpgradeTask] doUpgrade SQL error occured whilst performing ResizeProfileImagesUpgradeTask com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'databaseName.OS_USER' doesn't exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
In reality the table OS_USER actually exists in lower case.
The upgrade fail because the query to be executed is (see line 57 of confluence.upgrade.upgradetask.ResizeProfileImagesUpgradeTask for Confluence 3.0.1):
57. ResultSet rs = statement.executeQuery("select OS_USER.USERNAME, OS_PROPERTYENTRY.STRING_VAL from OS_USER, OS_PROPERTYENTRY where OS_USER.ID = OS_PROPERTYENTRY.ENTITY_ID and OS_PROPERTYENTRY.ENTITY_KEY = '" + UserPreferencesKeys.PROPERTY_USER_PROFILE_PICTURE + "'");
The upgrade task in this case (and other cases involving schema update) need to be smart enough to identify what database casing is used so the upgrade can proceed smoothly.
Form Name |
---|