This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git


The following commit(s) were added to refs/heads/master by this push:
     new 758d47c  HOP-3231 - Delete transform doesn't properly close 
transactions
     new 8130241  Merge pull request #1031 from sramazzina/HOP-3231
758d47c is described below

commit 758d47c042de68bd00939aabad15175984ed31d9
Author: sergio.ramazzina <[email protected]>
AuthorDate: Tue Aug 31 14:10:56 2021 +0200

    HOP-3231 - Delete transform doesn't properly close transactions
---
 .../hop/pipeline/transforms/delete/Delete.java     | 25 ++++++++++++++++------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git 
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
 
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
index 4bf55ef..7492be5 100644
--- 
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
+++ 
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/Delete.java
@@ -252,8 +252,17 @@ public class Delete extends BaseTransform<DeleteMeta, 
DeleteData>
   }
 
   @Override
+  public void batchComplete() throws HopException {
+    commitBatch(false);
+  }
+
+  @Override
   public void dispose() {
+    commitBatch(true);
+    super.dispose();
+  }
 
+  private void commitBatch(boolean dispose) {
     if (data.db != null) {
       try {
         if (!data.db.isAutoCommit()) {
@@ -263,18 +272,20 @@ public class Delete extends BaseTransform<DeleteMeta, 
DeleteData>
             data.db.rollback();
           }
         }
-        data.db.closeUpdate();
+        if (dispose)
+          data.db.closeUpdate();
       } catch (HopDatabaseException e) {
         logError(
-            BaseMessages.getString(PKG, 
"Delete.Log.UnableToCommitUpdateConnection")
-                + data.db
-                + "] :"
-                + e.toString());
+                BaseMessages.getString(PKG, 
"Delete.Log.UnableToCommitUpdateConnection")
+                        + data.db
+                        + "] :"
+                        + e.toString());
         setErrors(1);
       } finally {
-        data.db.disconnect();
+        if (dispose)
+          data.db.disconnect();
       }
     }
-    super.dispose();
+
   }
 }

Reply via email to