|Trouble with overrideLoader [message #590018]
||Fri, 22 February 2008 00:14
| Enrico Schenk
Registered: July 2009
I am currently developing a bundle of plug-ins to provide Ingres support
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
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.
* 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
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,
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.01793 seconds