Currently, it is necessary for the user
to specify the database vendor, database version and driver in order to
instantiate a driver definition. Although, it is somewhat desirable
to organize the drivers by vendor, it is unnecessarily complicated to
organize the drivers on a per version basis especially since the version
can be discovered when a connection is made to the server. The purpose
of this proposal is to remove the requirement of specifying versions from
the driver definition UI and optionally from the driver definition. Note
that this change is backward compatible.
1) Database Recognizers
A database recognizer is a class that
is registered using the databaseRecognition extension point in the org.eclipse.datatools.connectivity.sqm.core
plug-in. The class implements a method that takes a connection and
then returns a DatabaseDefinition if it recognizes the server.
2) Connection Factory Modifications
The connection factory will be modified
a) A DatabaseDefinition based
on the vendor and version specified in the driver definition will be associated
with the connection. (This is the current behavior.)
b) If no vendor and version is
specified in the driver definition or the DatabaseDefinition specified
cannot be instantiated then the generic JDBC database definition will be
associated with the connection.
c) After connection, the database recognizers
will be queried. If they recognize the server then that DatabaseDefinition
will used by the connection.
Please respond with any comments or
RAD Data Tools, DB2 Tooling, Eclipse WTP Project and Eclipse DTP
IBM DB2 Information Management Software