supporting multi criteria and query for ODP driver

Description

this patch lets the driver do the batching of multi queries. the base driver does exactly what happens today - appending the sql statements with MultiQuerySeperator, and the ODP driver overrides that method and creates an anonymous pl/sql block to open multiple cursors

its my third issue on the subject - the first was a request, the second was a fix but not with a patch attachment but with the code files, and now i've created a patch (my first time using SVN didn't know about patches and stuff, sorry)

anyway, i can't find the first issue
this is the second issue and can be closed:
https://nhibernate.jira.com/browse/NH-2110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

The unit tests pass.

Environment

None

Attachments

3
  • 10 Apr 2012, 07:55 AM
  • 01 Dec 2010, 01:45 PM
  • 10 Apr 2010, 05:44 AM

Activity

Show:

Sergey Baranov July 3, 2015 at 9:09 AM
Edited

Ricardo Peres, would you please ask about it author of the original source? (I can't ask him by myself because of I have not enough reputation on SO).
After we recieve the positive response from him, I think I can submit pull request.

Also, I've tested proposed changes with Managed Oracle Driver in our middle-size project, works OK, but there is no any significant performance gain from it. However, the fact that we can combine queries into single roundtrip maybe useful for some scenarios.

Ricardo Peres June 30, 2015 at 10:45 AM

can you submit a pull request?

Sergey Baranov June 27, 2015 at 7:29 PM

Please consider "Enhanced" Oracle client driver described here: http://stackoverflow.com/a/14175635

Alex Feldman April 10, 2012 at 4:31 PM

@Jon Clare
Thank you for providing your fix. Both futures and multi-query work, but they are performing almost 2x slower than doing standard queries. NHProfiler is showing 90ms/400ms time for 3 combined queries, while doing each query separately with a regular driver is a 90ms/90ms cost. Performing a single query multi-query took 90ms/180ms. These are simple queries to retrieve a small lists. Any idea what's going on?

@Fabio
I didn't see an issue in NH3.3 change log regarding the refactoring for multi-querying with Oracle. Is that something that has been implemented?

ns April 10, 2012 at 10:28 AM

The patch is there. It worked before, can't say that it isn't broken.
I use that code in a lot of projects.
I didn't have time nor will to fix the comments made by Fabio, which are basically design ones.
If anyone wanna do that, the patch is attached to this issue.

Details

Assignee

Reporter

Labels

Affects versions

Priority

Who's Looking?

Open Who's Looking?
Created April 10, 2010 at 5:44 AM
Updated October 12, 2017 at 11:21 AM
Who's Looking?