diff --git a/plugin/trino-oracle/src/main/java/io/trino/plugin/oracle/OraclePoolConnectionFactory.java b/plugin/trino-oracle/src/main/java/io/trino/plugin/oracle/OraclePoolConnectionFactory.java index deb8a15fe2ed..096eb38d0985 100644 --- a/plugin/trino-oracle/src/main/java/io/trino/plugin/oracle/OraclePoolConnectionFactory.java +++ b/plugin/trino-oracle/src/main/java/io/trino/plugin/oracle/OraclePoolConnectionFactory.java @@ -80,6 +80,10 @@ public OraclePoolConnectionFactory( public Connection openConnection(ConnectorSession session) throws SQLException { - return dataSource.getConnection(); + Connection connection = dataSource.getConnection(); + // Oracle's pool doesn't reset autocommit state of connections when reusing them so we explicitly enable + // autocommit by default to match the JDBC specification. + connection.setAutoCommit(true); + return connection; } }