| Summary: | [DB] ORA-01795 when using Oracle as an IN() contains more than 1000 elements | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Erdal Karaca <erdal.karaca.de> | ||||||
| Component: | cdo.net4j.db | Assignee: | Stefan Winkler <stefan> | ||||||
| Status: | NEW --- | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | CC: | robert.blust | ||||||
| Version: | 4.13 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| See Also: |
https://git.eclipse.org/r/126322 https://git.eclipse.org/r/126378 |
||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Erdal Karaca
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 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. |