Hi,

To prevent the drill from going out of memory, it is suggested to set the
fetch size in Jdbc URL to enable data streaming(DRILL-6794 discusses this).
This does not work on Postgres for the following reason:

For fetchSize size to work on Postgres, the connection must not be in
autocommit mode. There is no parameter to set autocommit to false in
connection string other than programmatically calling
conn.setAutoCommit(false).

See
https://jdbc.postgresql.org/documentation/93/query.html#fetchsize-example
See https://jdbc.postgresql.org/documentation/head/connect.html for the
list of all connection string properties.

Fix is to add a property 'defaultAutoCommit' to JdbcStorageConfig and call
BasicDataSource#setDefaultAutoCommit in JdbcStoragePlugin.

Let us know your thoughts, we will create an issue and provide a fix.

Thank you,
Priyanka Bhoir

Reply via email to