leave the default at 0, but then use a default fetch size.
That's seems wrong, the Fetch Size should be correctly reported, the defaultRowFetchSize property can be changed to 100 but a call to getFetchSize() should return 100 not 0.
Based on the driver docs: "defaultRowFetchSize: Default parameter for java.sql.Statement#getFetchSize(). A value of 0 means that need fetch all rows at once"
The value of 0 should be used to fetch all rows, if we leave the default at 0 and handle internally that as 100 (and reporting it as 0) it is a wrong behavior.