You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are situations where one might want their query results returned as one array even when the number of rows are unknown. While there is no arguing that trying to disseminate the data as it is pulled from OCI will yield better performance, sometimes it's not a practical thing to do. Reasons might have to do with one or more of the following: resources, dependencies, time, and or needs.
Currently, there is no built-in method to accommodate this scenario. This leaves the consumer to have to do one of two things:
1. use a non-resultSet and set a high maxRows.
The main issue with this approach is that it will force you to have to assign a much higher value to numRows then what you would expect the query to output which will lead to unneeded higher memory utilization.
2. use a resultSet and accumulate the data
I think this is a hassle to do and it would likely be achieved more efficiently if the driver accommodated it first hand. It seems like a basic thing to ask for; getting your data from the driver in one array.
Other comments:
This feature request started from the following post: #65 (comment) More information and past discussions can be found there.
Also, for anyone interested, @bjouhier was kind enough to put together the following gist which should assist anyone trying to deal with this issue.
The text was updated successfully, but these errors were encountered:
@anthony-tuininga has some thoughts about moving some processing to JS, which for some reason seems to be a bit more efficient than via NAN in C++; this is a post 2.0.15 task.
There are situations where one might want their query results returned as one array even when the number of rows are unknown. While there is no arguing that trying to disseminate the data as it is pulled from OCI will yield better performance, sometimes it's not a practical thing to do. Reasons might have to do with one or more of the following: resources, dependencies, time, and or needs.
Currently, there is no built-in method to accommodate this scenario. This leaves the consumer to have to do one of two things:
1. use a non-resultSet and set a high maxRows.
The main issue with this approach is that it will force you to have to assign a much higher value to numRows then what you would expect the query to output which will lead to unneeded higher memory utilization.
2. use a resultSet and accumulate the data
I think this is a hassle to do and it would likely be achieved more efficiently if the driver accommodated it first hand. It seems like a basic thing to ask for; getting your data from the driver in one array.
Other comments:
This feature request started from the following post: #65 (comment) More information and past discussions can be found there.
Also, for anyone interested, @bjouhier was kind enough to put together the following gist which should assist anyone trying to deal with this issue.
The text was updated successfully, but these errors were encountered: