Trouble with overrideLoader [message #590018] |
Fri, 22 February 2008 00:14 |
Enrico Schenk Messages: 23 Registered: July 2009 |
Junior Member |
|
|
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 required steps?
|
|
|
Powered by
FUDForum. Page generated in 0.02435 seconds