Details
diff --git a/azkaban-db/src/main/java/azkaban/db/AzkabanDataSource.java b/azkaban-db/src/main/java/azkaban/db/AzkabanDataSource.java
index 9179cd2..13ae165 100644
--- a/azkaban-db/src/main/java/azkaban/db/AzkabanDataSource.java
+++ b/azkaban-db/src/main/java/azkaban/db/AzkabanDataSource.java
@@ -20,4 +20,6 @@ import org.apache.commons.dbcp2.BasicDataSource;
public abstract class AzkabanDataSource extends BasicDataSource {
public abstract String getDBType();
+
+ public abstract boolean allowsOnDuplicateKey();
}
diff --git a/azkaban-db/src/main/java/azkaban/db/H2FileDataSource.java b/azkaban-db/src/main/java/azkaban/db/H2FileDataSource.java
index 63a0ad4..c12e04c 100644
--- a/azkaban-db/src/main/java/azkaban/db/H2FileDataSource.java
+++ b/azkaban-db/src/main/java/azkaban/db/H2FileDataSource.java
@@ -31,4 +31,9 @@ public class H2FileDataSource extends AzkabanDataSource {
public String getDBType() {
return "h2";
}
+
+ @Override
+ public boolean allowsOnDuplicateKey() {
+ return false;
+ }
}
diff --git a/azkaban-db/src/main/java/azkaban/db/MySQLDataSource.java b/azkaban-db/src/main/java/azkaban/db/MySQLDataSource.java
index 8fd716d..09e4f35 100644
--- a/azkaban-db/src/main/java/azkaban/db/MySQLDataSource.java
+++ b/azkaban-db/src/main/java/azkaban/db/MySQLDataSource.java
@@ -76,4 +76,9 @@ public class MySQLDataSource extends AzkabanDataSource {
public String getDBType() {
return "mysql";
}
+
+ @Override
+ public boolean allowsOnDuplicateKey() {
+ return true;
+ }
}
diff --git a/azkaban-db/src/test/java/azkaban/db/AzDBTestUtility.java b/azkaban-db/src/test/java/azkaban/db/AzDBTestUtility.java
index 4316a6f..d070730 100644
--- a/azkaban-db/src/test/java/azkaban/db/AzDBTestUtility.java
+++ b/azkaban-db/src/test/java/azkaban/db/AzDBTestUtility.java
@@ -31,5 +31,10 @@ class AzDBTestUtility {
public String getDBType() {
return "h2-in-memory";
}
+
+ @Override
+ public boolean allowsOnDuplicateKey() {
+ return false;
+ }
}
}