| Bug #1933 | Driver parameter maxRows does not work | ||
|---|---|---|---|
| Submitted: | 24 Nov 2003 8:25 | Modified: | 13 Jan 2004 13:57 | 
| Reporter: | Teemu Kuulasmaa | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / J | Severity: | S2 (Serious) | 
| Version: | 3.0.9-stable & 3.1.1-alpha | OS: | Linux (Linux) | 
| Assigned to: | Mark Matthews | CPU Architecture: | Any | 
   [13 Jan 2004 13:57]
   Mark Matthews        
  Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
This is fixed for 3.0.10 and the nightly snapshots of 3.1.1.
 
Description: Hi I try to pass paramters to jdbc driver in connection url: url = "jdbc:mysql://localhost:3306/test?user=xxx&password=xxx&maxRows=10&profileSql=true" Option "profileSql=true" works but "maxRows=100" has no efect. All queries executed through the connection returns all rows and Statement.getMaxRows() returns "0". I expected that maxRows should give a new default value for newly created Statements. If I use Statement.setMaxRows() everything works fine. Here is description of the "maxRows" parameter from the README file of the jdbc driver: --------------------+-------------------------------------------+------------- maxRows | The maximum number of rows to return | 0 | (0 means return all rows) | --------------------+-------------------------------------------+------------- If this is not a real bug what is the real meaning of maxRows parameter? Teemu How to repeat: public class JDBCTest { public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=xxx&password=xxx&maxRows=1&profileSQL=true"); stmt = conn.createStatement(); System.out.println(stmt.getMaxRows()); rs = stmt.executeQuery("select * from test1"); while ( rs.next() ) { // There is two columns in the test1 table and we fetched all the columns System.out.println(rs.getObject(1) + ", " + rs.getObject(2)); } } catch (SQLException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();} } }