[ 
https://issues.apache.org/jira/browse/SPARK-38116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488047#comment-17488047
 ] 

Leona Yoda commented on SPARK-38116:
------------------------------------

I post sample PR, however, the intended behavior might be realized already if 
user set fetchSize > 0.

(cf.  
https://github.com/apache/spark/blob/v3.2.1/sql/core/src/main/scala/org/apache/spark/sql/jdbc/PostgresDialect.scala#L136)
 # If user set fetchsize > 0, autocommit will be set to false when reading 
operation in the original code.
 # fetchSize is set to 0 by default, so if users disable autocommit the jdbc 
driver will try to get all rows.

By the PR users will be able to choose the case autocommit true and fetchSize > 
0 ... but the document says it won't work.

 

Then, I think, in any case for reading operation, auto commit should be 
disabled. Removing the if condition on {{beforeFetch}} is considerable.

 

 

> Ability to turn off auto commit in JDBC source for read only operations
> -----------------------------------------------------------------------
>
>                 Key: SPARK-38116
>                 URL: https://issues.apache.org/jira/browse/SPARK-38116
>             Project: Spark
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 3.2.1
>            Reporter: Artem Kupchinskiy
>            Priority: Minor
>
> Currently, all the jdbc connections on executors side work always with auto 
> commit option set to true.
> However, there are cases where this mode makes hard to use 
> JdbcRelationProvider at all, i.e. reading huge datasets from Postgres (a 
> whole result set is collected regardless of a fetch size when autocommit is 
> set to true 
> https://jdbc.postgresql.org/documentation/91/query.html#query-with-cursor )
> So the proposal is following:
>  # Add a boolean option "autocommit" to JDBC Source allowing a user to turn 
> off autocommit mode for read only operations.
>  # Add guards which prevent using this option in DML operations.  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to