Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dtp-connect-dev] Ingres DTP support (problems with JDBC loader)

Hello,

I'am currently developing a bundle of plug-ins to provide Ingres support for DTP.

At the moment I have two questions regarding to the catalog loading.

1. JDBC loader

To provide additional catalog information for DTP, I use the "overrideLoader" extension point. This way I did not have to implement the entire catalog structure. After all I'm a bit unsure if I use the API as it is meant to be used. After testing the implementation of a table loader (it just replaces the view and the table factory), I have seen an unexpected result. The following steps were done in the data source explorer.

1. Loading table A's columns
2. Loading table B's columns
3. Refreshing table A's columns

To my surprise I have seen the columns of table B as columns of table A (the effect occurs only when using an override loader).

After having a closer look at the source code, I found out that

* There is always exactly one instance of a specific override loader
* The loader's instance is shared between all requesting objects (e.g. tables)
* A loader has a catalog object that depends on the requesting object (e.g. the JDBCTableColumnLoader expects the catalog object to be an instance of Table)

When a object uses its cached loader, the loader is sometimes initialized with the wrong catalog object (due to sharing). Are the loaders meant to be used in a stateless way? If so, can you provide an example?

2. ProcedureColumnLoader and TableColumnLoader

JDBCProcedure.createParameterLoader() and JDBCTable.createColumnLoader() uses both the EClass of Column to find possible override loaders. Because of casting the result to the according loader (in JDBCProcedure and JDBCTable), I get some class cast exceptions when trying to retrieve table columns or procedure columns.

Thanks in advance,

Enrico Schenk

Software Engineer
Ingres Germany GmbH - European Technology Center

PS: It's planned to contribute the plug-ins (including the source code) to the eclipse foundation. Can you point me in the right direction for the steps required for the contribution? 

-- 
Sitz der Gesellschaft: Langen ¦ Handelsregister: Amtsgericht Offenbach am Main ¦ HRB 42539
Geschäftsführung: Tom Berquist, Jörg Harnisch


Back to the top