Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
- Create two fetch sizes: an "init" fetch size and a "default" fetch size. The "init" fetch size comes from the JDBC connection string fetchSize (if present) and the "default" fetch size comes from HIVE_SERVER2_THRIFT_RESULTSET_DEFAULT_FETCH_SIZE the server response to the open session request.
- When a Statement is created, its starting fetch size is the "init" fetch size (may be 0)
- Manually setting the fetch size on the Statement to 0, sets the fetch size to be the server default
Setting to zero defaults to the server's instructed default and adheres to:
If the value specified is zero, then the hint is ignored. The default value is zero.
That is to say, if the fetch size is 0, the default from the server is used, otherwise the user can pass a 'hint' and that will be the number of rows fetched instead.
https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html#setFetchSize-int-