Hi Tom,
Tom Ware wrote:
> Hi All,
>
> Markus Karg has been nice enough to provide a new implementation of a
> TopLink Essentials DatabasePlatform for SQLAnywhere that I intend to
> check-in soon.
>
> I have a minor dilema.
>
> For some historical reasons, the current platform is called
> SQLAnyWherePlatform (with an upper case 'W'). Ideally the platform
> would be called SQLAnywherePlatform (with a lower case 'w' ). If we
> were going to make a change this would seem to be the ideal time.
> The issue with simply making the change is that currently we do not
> auto-detect SQLAnywhere and therefore anyone using the old platform
> would have to explicitly specify it - meaning a change breaks backward
> compatibility for them. In general, I believe it is quite important
> to maintain backward compatibility.
>
> My initial plan was to deprecate the old SQLAnyWherePlatform and
> create a new SQLAnywherePlatform in the same package. Unfortunately,
> that would cause problems for anyone developing on Windows since
> Windows is not case sensitive and as a result the source files would
> be the same as far as Windows is concerned.
>
> The following seem to be the options
>
> 1. Rename SQLAnyWherePlatform to SQLAnywherePlatform and somehow
> inform the user base
> - this is the cleanest solution if you forget about current users
> - breaks backward compatibility
> 2. Deprecate SQLAnyWherePlatform and create a new SQLAnywherePlatform
> in a new ianywhere subpackage
> - backward compatibility is maintained
> - does not follow the current pattern of package usage for
> DatabasePlatforms.
> 3. Keep the name as SQLAnyWherePlatform and update the contents
This is the cleanest solution for now or just create an
iAnywherePlatform and have the current SQLAnyWherePlatform extend the
new iAnyWherePlatform.
-lance
> - backward compatibility is maintained
> - platform name is not completely accurate
>
> Does anyone have either an opinion about the best option, or another
> suggestion?
>
> Thanks in advance,
> Tom