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();
+
}
}