Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dtp-dev] Question Concerning Statically vs. Dynamically Defined DB Meta-data


Rob,

For informational purposes, this is how version information is handled in WTP:

There is an extension point (org.eclipse.wst.rdb.core.databaseRecognition).  This extension point can be used to provide a class that returns a boolean indicating whether the version provided in the DatabaseDefinition is the same as the version on the server.  The connection wizard uses this facility to determine if the versions are the same, if they are not, then a warning dialog is displayed and the user can determine whether or not they want to connect anyway.   The user is given the option to connect anyway, so that if a new version or service pack for the database is released that the databaseRecognizer does not recognize, the user can still connect.  

( Note that there are no databaseRecognizers implemented in WTP so the warning dialog is never displayed in WTP.)


I would argue against your comment in the defect (" I would add that if the vendor/version is not defined, the ConnectionInfoImpl should fallback to use the generic JDBC dbdefinition and log this to both syserr (so the developer notices this in his debug env) and the Eclipse log.")  as this will block the user from utilizing vendor specific features such as custom catalog loaders and databaseDefinitions. The user needs to be allowed to decide which databaseDefinition to use in this case.


As far as the quoted identifiers, I agree.  Live connections should use the actual identifier provided from the server, while SQL model instances not associated with a connection should default to the databaseDefinition.

Larry Dunnell
RAD Data Tools, DB2 Tooling,  Eclipse WTP Project and Eclipse DTP Project
IBM DB2 Information Management Software




rcernich@xxxxxxxxxx
Sent by: dtp-dev-bounces@xxxxxxxxxxx

01/02/2007 10:29 AM

Please respond to
DTP development mailing list <dtp-dev@xxxxxxxxxxx>

To
dtp-dev@xxxxxxxxxxx
cc
Subject
[dtp-dev] Question Concerning Statically vs. Dynamically Defined DB        Meta-data






Hey all,

There are a couple of defects open against the connectivity framework
regarding the use of information in the DatabaseDefinition.  One is
concerned with version information
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=166526) and the other is
concerned with quoted identifiers
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=169307).

The first issue is related to using the version returned by the connection
to resolve a DatabaseDefinition as opposed to the information defined
within the driver definition.

The second issue is related to using the quote character defined by the
DatabaseDefinition as opposed to the character returned by
DatabaseMetaData.getIdentifierQuoteString().

The bigger issue is how should we handle cases where the DatabaseDefinition
(or driver definition) says one thing, but the actual connection says
something else?  I would propose we use the information on the connection,
defaulting to the statically defined information in the event the
information cannot be derived directly from the connection.

Any opinions?

Thanks,
Rob Cernich
DTP Connectivity Project Lead

_______________________________________________
dtp-dev mailing list
dtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dtp-dev


Back to the top