Fix for #142 - ENH: Add support for using RawSql with user supplied ResultSet

This commit is contained in:
Rob Bygrave
2014-06-12 21:11:14 +12:00
parent af6dbd0dbe
commit a4095b4ae5
6 changed files with 163 additions and 8 deletions
@@ -357,6 +357,16 @@ public class CQuery<T> implements DbReadContext, CancelableQuery {
SpiTransaction t = request.getTransaction();
Connection conn = t.getInternalConnection();
if (query.isRawSql()) {
ResultSet suppliedResultSet = query.getRawSql().getResultSet();
if (suppliedResultSet != null) {
// this is a user supplied ResultSet so use that
dataReader = queryPlan.createDataReader(suppliedResultSet);
bindLog = "";
return true;
}
}
if (forwardOnlyHint) {
// Use forward only hints for large resultset processing (Issue 56, MySql specific)
pstmt = conn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);