Is this a problem that we want to make a code change for, or do we want to update the user manual stating that this is a known MySQL limitation?
I vote for updating the known limitations since I haven't found this problem reported before and it seems to have always existed. -Rick >From [2] -- "The combination of a forward-only, read-only result set, with a >fetch size of Integer.MIN_VALUE serves as a signal to the driver to stream >result sets row-by-row. After this any result sets created with the statement >will be retrieved row-by-row. " To verify that the results are streaming I execute "SELECT * FROM EntityOne" from a table that has 1.5 million rows and iterate over the results. Since this operation doesn't cause an OOM, I know it is streaming. Hi Rick! What are you asking the statement to do when you set fetch size to a negative number? How are you verifying what result sets are doing? thanks, Joe Weinstein At 09:54 AM 4/10/2009, Rick Curtis wrote: >Yesterday I was looking into large result sets and it appears that they don't >work as implemented/documented(?). I did some googling around [1] and found a >number of posts talking about how setFetchSize isn't being honored, some >dating back as far as 2002. The MySQL docs [2] states "When using versions of >the JDBC driver earlier than 3.2.1, and connected to server versions earlier >than 5.0.3, the setFetchSize() method has no effect, other than to toggle >result set streaming as described above.". The doc outlines some additional >instructions on how to create a statement that is going to allow a streaming >result set. After moving to a newer JDBC driver, I wrote a simple test using >JDBC and it does work properly. Below is a snippet of the code [3] that I used >to test this with JDBC, but I wasn't able to figure out how to make OpenJPA do >the same. > >Any thoughts/suggestions? > >[1] Google "mysql jdbc setFetchSize" >[2]http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-implementation-notes.html >[3] >stmt = >conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,java.sql.ResultSet.CONCUR_READ_ONLY); >stmt.setFetchSize(Integer.MIN_VALUE); >-- >View this message in context: >http://n2.nabble.com/Large-result-set-problem-on-MySQL-tp2617152p2617152.html >Sent from the OpenJPA Developers mailing list archive at Nabble.com. > > >Notice: This email message, together with any attachments, may contain >information of BEA Systems, Inc., its subsidiaries and affiliated >entities, that may be confidential, proprietary, copyrighted and/or >legally privileged, and is intended solely for the use of the individual or >entity named in this message. If you are not the intended recipient, and have >received this message in error, please immediately return this by email and >then delete it. -- View this message in context: http://n2.nabble.com/Large-result-set-problem-on-MySQL-tp2617152p2634658.html Sent from the OpenJPA Developers mailing list archive at Nabble.com.
