Case-Insensitive support for database object names by DataDirect driver

  • Thread starter Thread starter anna.aronova@hp.com
  • Start date Start date
Status
Not open for further replies.
A

anna.aronova@hp.com

Guest
1. The nature of the enhancement required specifying what should be changed or implemented. Different database treat differently identifier names: PostgreSQL treats mixed unquoted SQL identfiers as case-insensitive and stores them as lower case while other databases, such as Oracle and MySQL , stores them as upper case. Currently , there is a set methods on the DatabaseMetaData interface which indicates the behaviour of the database with regard to its handling/storing of specified identifier names (storesLowerCaseIdentifiers();storesUpperCaseIdentifiers();). The database driver for each database type sets the values in this interface correctly. But if you try to port the code from Oracle to Postgresql and the the application code has calls as resultSet.getString(“COLUMN_NAME”), the call will work smoothly with Oracle or MySQL , but will fail with Postgresql. It will be very useful addition, if the driver could transparently for application, translate the given unquoted identifier names to correct case.(i.e. to upper case for Oracle and to lower-case to for PostgreSQL) 2. The use cases for the proposed idea (enhancement) specifying the added functionality of the product as a result of the proposed enhancement. The functionality suggested above will help any application that plans to migrate from one database to another minimizing number of changes that should be done in order to support new database. 3. The current alternatives or workarounds for the proposed idea (enhancement), if such alternatives exist, and why these are not desirable. It is possible to add a branch for each database type, but big projects with numerous classes can’t allow themselves to go over all code as it require a considerable amount of work.

Continue reading...
 
Status
Not open for further replies.
Back
Top