Community
Participate
Working Groups
I am getting an Oracle specific error message when trying to remove an object: ORA-01795. This means that an IN() is constructed that contains more than 1000 elements. Currently, the list passed to IN() could be optimized by just checking if the object to be deleted has any relation to the object that is affected.
Created attachment 198181 [details] Optimization for querying xrefs This reduces the IN() drastically. In my case: reduced the IN() list to one instead of 1036
Created attachment 198393 [details] Previous patch introduced a NPE when no cross refererences were available.
Moving all open enhancement requests to 4.1
Stefan, can you please look at this? Erdal, in case Stefan is fine with these changes, I guess we'd need to have this ported to the other mapping strategies, as well.
The optimization is basically a good idea. From a first look there might be problems with object inheritance. If the test suite passes this optimization, I should try to add a test case for this. @Eike: if this kind of optimization works, it is not Oracle-specific @Erdal: I guess you are aware, that you only optimize the query length for specific cases. The main issue still remains: in larger databases/hierarchies, the IN()-expression could still exceed the limits ...
If the IN() length is an issue can't/shouldn't we split the stmt into several small statements? If there's some vendor-specific aspect, we could add an IDBAdapter2 interface to 4.1.
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Moving all outstanding enhancements to 4.3
Moving all open enhancement requests to 4.4
Moving all open bugzillas to 4.5.
Moving all unaddressed bugzillas to 4.6.
Moving all open bugs to 4.7
New Gerrit change created: https://git.eclipse.org/r/126322
New Gerrit change created: https://git.eclipse.org/r/126378
Moving all unresolved issues to version 4.8-
Moving all unresolved issues to version 4.9
Moving to 4.13.