diff --git a/src/main/java/io/ebean/config/PlatformConfig.java b/src/main/java/io/ebean/config/PlatformConfig.java
index e9578e83c..c728744cb 100644
--- a/src/main/java/io/ebean/config/PlatformConfig.java
+++ b/src/main/java/io/ebean/config/PlatformConfig.java
@@ -34,11 +34,6 @@ public class PlatformConfig {
*/
private String databaseBooleanFalse;
- /**
- * For DB's using sequences this is the number of sequence values prefetched.
- */
- private int databaseSequenceBatchSize = 20;
-
/**
* Set for DB's that support both Sequence and Identity (and the default choice is not desired).
*/
@@ -79,7 +74,6 @@ public class PlatformConfig {
public PlatformConfig(PlatformConfig platformConfig) {
this.databaseBooleanFalse = platformConfig.databaseBooleanFalse;
this.databaseBooleanTrue = platformConfig.databaseBooleanTrue;
- this.databaseSequenceBatchSize = platformConfig.databaseSequenceBatchSize;
this.idType = platformConfig.idType;
this.geometrySRID = platformConfig.geometrySRID;
this.dbUuid = platformConfig.dbUuid;
@@ -173,20 +167,6 @@ public class PlatformConfig {
this.databaseBooleanFalse = databaseBooleanFalse;
}
- /**
- * Return the number of DB sequence values that should be preallocated.
- */
- public int getDatabaseSequenceBatchSize() {
- return databaseSequenceBatchSize;
- }
-
- /**
- * Set the number of DB sequence values that should be preallocated.
- */
- public void setDatabaseSequenceBatchSize(int databaseSequenceBatchSize) {
- this.databaseSequenceBatchSize = databaseSequenceBatchSize;
- }
-
/**
* Return the Geometry SRID.
*/
@@ -294,7 +274,6 @@ public class PlatformConfig {
public void loadSettings(PropertiesWrapper p) {
idType = p.getEnum(IdType.class, "idType", idType);
- databaseSequenceBatchSize = p.getInt("databaseSequenceBatchSize", databaseSequenceBatchSize);
databaseBooleanTrue = p.get("databaseBooleanTrue", databaseBooleanTrue);
databaseBooleanFalse = p.get("databaseBooleanFalse", databaseBooleanFalse);
databaseInetAddressVarchar = p.getBoolean("databaseInetAddressVarchar", databaseInetAddressVarchar);
diff --git a/src/main/java/io/ebean/config/ServerConfig.java b/src/main/java/io/ebean/config/ServerConfig.java
index 9ba10c287..64be1d42b 100644
--- a/src/main/java/io/ebean/config/ServerConfig.java
+++ b/src/main/java/io/ebean/config/ServerConfig.java
@@ -1050,18 +1050,6 @@ public class ServerConfig {
this.lazyLoadBatchSize = lazyLoadBatchSize;
}
- /**
- * Set the number of sequences to fetch/preallocate when using DB sequences.
- *
- * This is a performance optimisation to reduce the number times Ebean
- * requests a sequence to be used as an Id for a bean (aka reduce network
- * chatter).
- *
- */
- public void setDatabaseSequenceBatchSize(int databaseSequenceBatchSize) {
- platformConfig.setDatabaseSequenceBatchSize(databaseSequenceBatchSize);
- }
-
/**
* Return the default JDBC fetchSize hint for findList queries.
*/
@@ -1828,32 +1816,6 @@ public class ServerConfig {
this.platformConfig.setDatabaseBooleanFalse(databaseFalse);
}
- /**
- * Return the number of DB sequence values that should be preallocated.
- */
- public int getDatabaseSequenceBatchSize() {
- return platformConfig.getDatabaseSequenceBatchSize();
- }
-
- /**
- * Set the number of DB sequence values that should be preallocated and cached
- * by Ebean.
- *
- * This is only used for DB's that use sequences and is a performance
- * optimisation. This reduces the number of times Ebean needs to get a
- * sequence value from the Database reducing network chatter.
- *
- *
- * By default this value is 10 so when we need another Id (and don't have one
- * in our cache) Ebean will fetch 10 id's from the database. Note that when
- * the cache drops to have full (which is 5 by default) Ebean will fetch
- * another batch of Id's in a background thread.
- *
- */
- public void setDatabaseSequenceBatch(int databaseSequenceBatchSize) {
- this.platformConfig.setDatabaseSequenceBatchSize(databaseSequenceBatchSize);
- }
-
/**
* Return the database platform name (can be null).
*
diff --git a/src/main/java/io/ebean/config/dbplatform/DatabasePlatform.java b/src/main/java/io/ebean/config/dbplatform/DatabasePlatform.java
index b97adadc7..e5a6e553a 100644
--- a/src/main/java/io/ebean/config/dbplatform/DatabasePlatform.java
+++ b/src/main/java/io/ebean/config/dbplatform/DatabasePlatform.java
@@ -110,10 +110,6 @@ public class DatabasePlatform {
*/
protected DbIdentity dbIdentity = new DbIdentity();
- protected boolean sequenceBatchMode = true;
-
- protected int sequenceBatchSize = 20;
-
/**
* The history support for this database platform.
*/
@@ -235,7 +231,6 @@ public class DatabasePlatform {
* Configure the platform given the server configuration.
*/
public void configure(PlatformConfig config) {
- this.sequenceBatchSize = config.getDatabaseSequenceBatchSize();
this.caseSensitiveCollation = config.isCaseSensitiveCollation();
configureIdType(config.getIdType());
configure(config, config.isAllQuotedIdentifiers());
@@ -298,20 +293,6 @@ public class DatabasePlatform {
return platform.name().toLowerCase();
}
- /**
- * Return true if we are using Sequence batch mode rather than STEP.
- */
- public boolean isSequenceBatchMode() {
- return sequenceBatchMode;
- }
-
- /**
- * Set to false to not use sequence batch mode but instead STEP mode.
- */
- public void setSequenceBatchMode(boolean sequenceBatchMode) {
- this.sequenceBatchMode = sequenceBatchMode;
- }
-
/**
* Return true if this database platform supports native ILIKE expression.
*/
@@ -381,13 +362,13 @@ public class DatabasePlatform {
/**
* Return a DB Sequence based IdGenerator.
*
- * @param be the BackgroundExecutor that can be used to load the sequence if
- * desired
- * @param ds the DataSource
- * @param stepSize the sequence allocation size as defined by mapping (defaults to 50)
- * @param seqName the name of the sequence
+ * @param be the BackgroundExecutor that can be used to load the sequence if
+ * desired
+ * @param ds the DataSource
+ * @param increment the sequence allocation size as defined by mapping (defaults to 50)
+ * @param seqName the name of the sequence
*/
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
return null;
}
diff --git a/src/main/java/io/ebean/config/dbplatform/SequenceBatchIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/SequenceBatchIdGenerator.java
deleted file mode 100644
index 683203b8c..000000000
--- a/src/main/java/io/ebean/config/dbplatform/SequenceBatchIdGenerator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package io.ebean.config.dbplatform;
-
-import io.ebean.BackgroundExecutor;
-
-import javax.sql.DataSource;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Database sequence based IdGenerator using Sequence Step 1 but batch fetch many sequence values.
- */
-public abstract class SequenceBatchIdGenerator extends SequenceIdGenerator {
-
- /**
- * Construct where batchSize is the sequence step size.
- *
- */
- public SequenceBatchIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
- super(be, ds, seqName, batchSize);
- }
-
- /**
- * If allocateSize is large load some sequences in a background thread.
- *
- * For example, when inserting a bean with a cascade on a OneToMany with many
- * beans Ebean can call this to ensure .
- *
- */
- @Override
- public void preAllocateIds(int requestSize) {
- if (allocationSize > 1 && requestSize > allocationSize) {
- // only bother if allocateSize is bigger than
- // the normal loading batchSize
- if (requestSize > 100) {
- // max out at 100 for now
- requestSize = 100;
- }
- loadInBackground(requestSize);
- }
- }
-
- /**
- * Add the next set of Ids as the next value plus all the following numbers up to the step size.
- */
- @Override
- protected List readIds(ResultSet resultSet, int loadSize) throws SQLException {
-
- List newIds = new ArrayList<>(loadSize);
- while (resultSet.next()) {
- newIds.add(resultSet.getLong(1));
- }
- return newIds;
- }
-
-}
diff --git a/src/main/java/io/ebean/config/dbplatform/SequenceIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/SequenceIdGenerator.java
index 703fa7958..252401855 100644
--- a/src/main/java/io/ebean/config/dbplatform/SequenceIdGenerator.java
+++ b/src/main/java/io/ebean/config/dbplatform/SequenceIdGenerator.java
@@ -59,7 +59,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
this.allocationSize = allocationSize;
}
- public abstract String getSql(int batchSize);
+ public abstract String getSql();
/**
* Returns the sequence name.
@@ -102,7 +102,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
if (size > 0) {
maybeLoadMoreInBackground(size);
} else {
- loadMore(allocationSize);
+ loadMore();
}
return idList.pollFirst();
}
@@ -116,8 +116,8 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
}
}
- private void loadMore(int requestSize) {
- List newIds = getMoreIds(requestSize);
+ private void loadMore() {
+ List newIds = getMoreIds();
synchronized (monitor) {
idList.addAll(newIds);
}
@@ -139,7 +139,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
currentlyBackgroundLoading = true;
backgroundExecutor.execute(() -> {
- loadMore(requestSize);
+ loadMore();
synchronized (backgroundLoadMonitor) {
currentlyBackgroundLoading = false;
}
@@ -150,14 +150,14 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
/**
* Read the resultSet returning the list of Id values.
*/
- protected abstract List readIds(ResultSet resultSet, int loadSize) throws SQLException;
+ protected abstract List readIds(ResultSet resultSet) throws SQLException;
/**
* Get more Id's by executing a query and reading the Id's returned.
*/
- protected List getMoreIds(int requestSize) {
+ protected List getMoreIds() {
- String sql = getSql(requestSize);
+ String sql = getSql();
Connection connection = null;
PreparedStatement statement = null;
@@ -168,7 +168,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
statement = connection.prepareStatement(sql);
resultSet = statement.executeQuery();
- List newIds = readIds(resultSet, requestSize);
+ List newIds = readIds(resultSet);
if (logger.isTraceEnabled()) {
logger.trace("seq:{} loaded:{} sql:{}", seqName, newIds.size(), sql);
}
diff --git a/src/main/java/io/ebean/config/dbplatform/SequenceStepIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/SequenceStepIdGenerator.java
index c4039a6f2..e6d467979 100644
--- a/src/main/java/io/ebean/config/dbplatform/SequenceStepIdGenerator.java
+++ b/src/main/java/io/ebean/config/dbplatform/SequenceStepIdGenerator.java
@@ -13,19 +13,25 @@ import java.util.List;
*/
public abstract class SequenceStepIdGenerator extends SequenceIdGenerator {
+ private final String nextSql;
/**
* Construct with stepSize (typically 50).
*/
- protected SequenceStepIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ protected SequenceStepIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int stepSize, String nextSql) {
super(be, ds, seqName, stepSize);
+ this.nextSql = nextSql;
+ }
+
+ @Override
+ public String getSql() {
+ return nextSql;
}
/**
* Add the next set of Ids as the next value plus all the following numbers up to the step size.
*/
@Override
- protected List readIds(ResultSet resultSet, int ignoreRequestSize) throws SQLException {
-
+ protected List readIds(ResultSet resultSet) throws SQLException {
List newIds = new ArrayList<>(allocationSize);
if (resultSet.next()) {
long start = resultSet.getLong(1);
diff --git a/src/main/java/io/ebean/config/dbplatform/db2/DB2Platform.java b/src/main/java/io/ebean/config/dbplatform/db2/DB2Platform.java
index df76c6064..ef39972ca 100644
--- a/src/main/java/io/ebean/config/dbplatform/db2/DB2Platform.java
+++ b/src/main/java/io/ebean/config/dbplatform/db2/DB2Platform.java
@@ -52,9 +52,8 @@ public class DB2Platform extends DatabasePlatform {
* sequence values.
*/
@Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
-
- return new DB2SequenceIdGenerator(be, ds, seqName, sequenceBatchSize);
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
+ return new DB2Sequence(be, ds, seqName, increment);
}
}
diff --git a/src/main/java/io/ebean/config/dbplatform/db2/DB2Sequence.java b/src/main/java/io/ebean/config/dbplatform/db2/DB2Sequence.java
new file mode 100644
index 000000000..18900a6de
--- /dev/null
+++ b/src/main/java/io/ebean/config/dbplatform/db2/DB2Sequence.java
@@ -0,0 +1,17 @@
+package io.ebean.config.dbplatform.db2;
+
+import io.ebean.BackgroundExecutor;
+import io.ebean.config.dbplatform.SequenceStepIdGenerator;
+
+import javax.sql.DataSource;
+
+/**
+ * DB2 specific sequence Id Generator.
+ */
+class DB2Sequence extends SequenceStepIdGenerator {
+
+ DB2Sequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ super(be, ds, seqName, stepSize, "values nextval for " + seqName);
+ }
+
+}
diff --git a/src/main/java/io/ebean/config/dbplatform/db2/DB2SequenceIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/db2/DB2SequenceIdGenerator.java
deleted file mode 100644
index a5170a759..000000000
--- a/src/main/java/io/ebean/config/dbplatform/db2/DB2SequenceIdGenerator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.ebean.config.dbplatform.db2;
-
-import io.ebean.BackgroundExecutor;
-import io.ebean.config.dbplatform.SequenceBatchIdGenerator;
-
-import javax.sql.DataSource;
-
-/**
- * DB2 specific sequence Id Generator.
- */
-public class DB2SequenceIdGenerator extends SequenceBatchIdGenerator {
-
- private final String baseSql;
- private final String unionBaseSql;
-
- /**
- * Construct given a dataSource and sql to return the next sequence value.
- */
- public DB2SequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
- super(be, ds, seqName, batchSize);
- this.baseSql = "values nextval for " + seqName;
- this.unionBaseSql = " union " + baseSql;
- }
-
- @Override
- public String getSql(int batchSize) {
-
- StringBuilder sb = new StringBuilder();
- sb.append(baseSql);
- for (int i = 1; i < batchSize; i++) {
- sb.append(unionBaseSql);
- }
- return sb.toString();
- }
-}
diff --git a/src/main/java/io/ebean/config/dbplatform/h2/H2DbSequence.java b/src/main/java/io/ebean/config/dbplatform/h2/H2DbSequence.java
new file mode 100644
index 000000000..e767bcb54
--- /dev/null
+++ b/src/main/java/io/ebean/config/dbplatform/h2/H2DbSequence.java
@@ -0,0 +1,14 @@
+package io.ebean.config.dbplatform.h2;
+
+import io.ebean.BackgroundExecutor;
+import io.ebean.config.dbplatform.SequenceStepIdGenerator;
+
+import javax.sql.DataSource;
+
+class H2DbSequence extends SequenceStepIdGenerator {
+
+ H2DbSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ super(be, ds, seqName, stepSize, "select " + seqName + ".nextval");
+ }
+
+}
diff --git a/src/main/java/io/ebean/config/dbplatform/h2/H2Platform.java b/src/main/java/io/ebean/config/dbplatform/h2/H2Platform.java
index dd0cfde1a..530cfe992 100644
--- a/src/main/java/io/ebean/config/dbplatform/h2/H2Platform.java
+++ b/src/main/java/io/ebean/config/dbplatform/h2/H2Platform.java
@@ -42,13 +42,9 @@ public class H2Platform extends DatabasePlatform {
dbTypeMap.put(DbType.UUID, new DbPlatformType("uuid", false));
}
- /**
- * Return a H2 specific sequence IdGenerator that supports batch fetching
- * sequence values.
- */
@Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
- return new H2SequenceIdGenerator(be, ds, seqName, sequenceBatchSize);
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
+ return new H2DbSequence(be, ds, seqName, increment);
}
@Override
diff --git a/src/main/java/io/ebean/config/dbplatform/h2/H2SequenceIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/h2/H2SequenceIdGenerator.java
deleted file mode 100644
index b4e875511..000000000
--- a/src/main/java/io/ebean/config/dbplatform/h2/H2SequenceIdGenerator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.ebean.config.dbplatform.h2;
-
-import io.ebean.BackgroundExecutor;
-import io.ebean.config.dbplatform.SequenceBatchIdGenerator;
-
-import javax.sql.DataSource;
-
-/**
- * H2 specific sequence Id Generator.
- */
-public class H2SequenceIdGenerator extends SequenceBatchIdGenerator {
-
- private final String baseSql;
- private final String unionBaseSql;
-
- /**
- * Construct given a dataSource and sql to return the next sequence value.
- */
- public H2SequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
- super(be, ds, seqName, batchSize);
- this.baseSql = "select " + seqName + ".nextval";
- this.unionBaseSql = " union " + baseSql;
- }
-
- @Override
- public String getSql(int batchSize) {
-
- StringBuilder sb = new StringBuilder();
- sb.append(baseSql);
- for (int i = 1; i < batchSize; i++) {
- sb.append(unionBaseSql);
- }
- return sb.toString();
- }
-}
diff --git a/src/main/java/io/ebean/config/dbplatform/hsqldb/HsqldbPlatform.java b/src/main/java/io/ebean/config/dbplatform/hsqldb/HsqldbPlatform.java
deleted file mode 100644
index b8cb1e0dd..000000000
--- a/src/main/java/io/ebean/config/dbplatform/hsqldb/HsqldbPlatform.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package io.ebean.config.dbplatform.hsqldb;
-
-import io.ebean.BackgroundExecutor;
-import io.ebean.annotation.Platform;
-import io.ebean.config.dbplatform.DatabasePlatform;
-import io.ebean.config.dbplatform.DbPlatformType;
-import io.ebean.config.dbplatform.DbType;
-import io.ebean.config.dbplatform.IdType;
-import io.ebean.config.dbplatform.PlatformIdGenerator;
-import io.ebean.config.dbplatform.h2.H2DbEncrypt;
-import io.ebean.config.dbplatform.h2.H2SequenceIdGenerator;
-
-import javax.sql.DataSource;
-
-/**
- * H2 specific platform.
- */
-public class HsqldbPlatform extends DatabasePlatform {
-
- public HsqldbPlatform() {
- super();
- this.platform = Platform.HSQLDB;
- this.dbEncrypt = new H2DbEncrypt();
- this.truncateTable = "delete from %s";
- this.dbIdentity.setIdType(IdType.IDENTITY);
- this.dbIdentity.setSupportsGetGeneratedKeys(true);
- this.dbIdentity.setSupportsSequence(true);
- this.dbIdentity.setSupportsIdentity(true);
-
- dbTypeMap.put(DbType.INTEGER, new DbPlatformType("integer", false));
- }
-
- @Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
- return new H2SequenceIdGenerator(be, ds, seqName, sequenceBatchSize);
- }
-
-}
diff --git a/src/main/java/io/ebean/config/dbplatform/hsqldb/package-info.java b/src/main/java/io/ebean/config/dbplatform/hsqldb/package-info.java
deleted file mode 100644
index 6a5ddf752..000000000
--- a/src/main/java/io/ebean/config/dbplatform/hsqldb/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Hsqldb specific support.
- */
-package io.ebean.config.dbplatform.hsqldb;
diff --git a/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbPlatform.java b/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbPlatform.java
index fb4a264a8..8a7370acf 100644
--- a/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbPlatform.java
+++ b/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbPlatform.java
@@ -44,8 +44,8 @@ public class NuoDbPlatform extends DatabasePlatform {
}
@Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
- return new NuoDbSequence(be, ds, seqName, stepSize);
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
+ return new NuoDbSequence(be, ds, seqName, increment);
}
@Override
diff --git a/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbSequence.java b/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbSequence.java
index 6767231c4..d674458e7 100644
--- a/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbSequence.java
+++ b/src/main/java/io/ebean/config/dbplatform/nuodb/NuoDbSequence.java
@@ -5,20 +5,10 @@ import io.ebean.config.dbplatform.SequenceStepIdGenerator;
import javax.sql.DataSource;
-public class NuoDbSequence extends SequenceStepIdGenerator {
+class NuoDbSequence extends SequenceStepIdGenerator {
- private final String nextSql;
-
- /**
- * Construct where batchSize is the sequence step size.
- */
- public NuoDbSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
- super(be, ds, seqName, stepSize);
- this.nextSql = "select next value for " + seqName + " from dual";
+ NuoDbSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ super(be, ds, seqName, stepSize, "select next value for " + seqName + " from dual");
}
- @Override
- public String getSql(int batchSize) {
- return nextSql;
- }
}
diff --git a/src/main/java/io/ebean/config/dbplatform/oracle/OracleDbSequence.java b/src/main/java/io/ebean/config/dbplatform/oracle/OracleDbSequence.java
new file mode 100644
index 000000000..d05bc9113
--- /dev/null
+++ b/src/main/java/io/ebean/config/dbplatform/oracle/OracleDbSequence.java
@@ -0,0 +1,14 @@
+package io.ebean.config.dbplatform.oracle;
+
+import io.ebean.BackgroundExecutor;
+import io.ebean.config.dbplatform.SequenceStepIdGenerator;
+
+import javax.sql.DataSource;
+
+class OracleDbSequence extends SequenceStepIdGenerator {
+
+ OracleDbSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ super(be, ds, seqName, stepSize, "select " + seqName + ".nextval from dual");
+ }
+
+}
diff --git a/src/main/java/io/ebean/config/dbplatform/oracle/OraclePlatform.java b/src/main/java/io/ebean/config/dbplatform/oracle/OraclePlatform.java
index ab39dbf0d..4fef09872 100644
--- a/src/main/java/io/ebean/config/dbplatform/oracle/OraclePlatform.java
+++ b/src/main/java/io/ebean/config/dbplatform/oracle/OraclePlatform.java
@@ -76,8 +76,8 @@ public class OraclePlatform extends DatabasePlatform {
}
@Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
- return new OracleSequenceIdGenerator(be, ds, seqName, sequenceBatchSize);
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
+ return new OracleDbSequence(be, ds, seqName, increment);
}
@Override
diff --git a/src/main/java/io/ebean/config/dbplatform/oracle/OracleSequenceIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/oracle/OracleSequenceIdGenerator.java
deleted file mode 100644
index 32dd7a28e..000000000
--- a/src/main/java/io/ebean/config/dbplatform/oracle/OracleSequenceIdGenerator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package io.ebean.config.dbplatform.oracle;
-
-import io.ebean.BackgroundExecutor;
-import io.ebean.config.dbplatform.SequenceBatchIdGenerator;
-
-import javax.sql.DataSource;
-
-/**
- * Oracle specific sequence Id Generator.
- */
-public class OracleSequenceIdGenerator extends SequenceBatchIdGenerator {
-
- private final String baseSql;
-
- /**
- * Construct given a dataSource and sql to return the next sequence value.
- */
- public OracleSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
- super(be, ds, seqName, batchSize);
- this.baseSql = "select " + seqName + ".nextval, a from (select level as a FROM dual CONNECT BY level <= ";
- }
-
- @Override
- public String getSql(int batchSize) {
- return baseSql + batchSize + ")";
- }
-}
diff --git a/src/main/java/io/ebean/config/dbplatform/postgres/PostgresDbSequence.java b/src/main/java/io/ebean/config/dbplatform/postgres/PostgresDbSequence.java
new file mode 100644
index 000000000..ebff5a63f
--- /dev/null
+++ b/src/main/java/io/ebean/config/dbplatform/postgres/PostgresDbSequence.java
@@ -0,0 +1,14 @@
+package io.ebean.config.dbplatform.postgres;
+
+import io.ebean.BackgroundExecutor;
+import io.ebean.config.dbplatform.SequenceStepIdGenerator;
+
+import javax.sql.DataSource;
+
+class PostgresDbSequence extends SequenceStepIdGenerator {
+
+ PostgresDbSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ super(be, ds, seqName, stepSize, "select nextval('\" + seqName + \"')");
+ }
+
+}
diff --git a/src/main/java/io/ebean/config/dbplatform/postgres/PostgresPlatform.java b/src/main/java/io/ebean/config/dbplatform/postgres/PostgresPlatform.java
index 5b4a5d044..37ce701cc 100644
--- a/src/main/java/io/ebean/config/dbplatform/postgres/PostgresPlatform.java
+++ b/src/main/java/io/ebean/config/dbplatform/postgres/PostgresPlatform.java
@@ -109,9 +109,8 @@ public class PostgresPlatform extends DatabasePlatform {
* Create a Postgres specific sequence IdGenerator.
*/
@Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
-
- return new PostgresSequenceIdGenerator(be, ds, seqName, sequenceBatchSize);
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
+ return new PostgresDbSequence(be, ds, seqName, increment);
}
@Override
diff --git a/src/main/java/io/ebean/config/dbplatform/postgres/PostgresSequenceIdGenerator.java b/src/main/java/io/ebean/config/dbplatform/postgres/PostgresSequenceIdGenerator.java
deleted file mode 100644
index 4550c926d..000000000
--- a/src/main/java/io/ebean/config/dbplatform/postgres/PostgresSequenceIdGenerator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package io.ebean.config.dbplatform.postgres;
-
-import io.ebean.BackgroundExecutor;
-import io.ebean.config.dbplatform.SequenceBatchIdGenerator;
-
-import javax.sql.DataSource;
-
-/**
- * Postgres specific sequence Id Generator.
- */
-public class PostgresSequenceIdGenerator extends SequenceBatchIdGenerator {
-
- private final String baseSql;
-
- /**
- * Construct given a dataSource and sql to return the next sequence value.
- */
- public PostgresSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
- super(be, ds, seqName, batchSize);
- this.baseSql = "select nextval('" + seqName + "'), s.generate_series from (select generate_series from generate_series(1,";
- }
-
- @Override
- public String getSql(int batchSize) {
- return baseSql + batchSize + ") ) as s";
- }
-}
diff --git a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerBasePlatform.java b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerBasePlatform.java
index b79c69413..a8e3f5c6d 100644
--- a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerBasePlatform.java
+++ b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerBasePlatform.java
@@ -36,7 +36,6 @@ abstract class SqlServerBasePlatform extends DatabasePlatform {
this.dbIdentity.setSupportsGetGeneratedKeys(true);
this.dbIdentity.setSupportsIdentity(true);
this.dbIdentity.setSupportsSequence(true);
- this.sequenceBatchMode = false;
this.exceptionTranslator =
new SqlErrorCodes()
@@ -95,12 +94,9 @@ abstract class SqlServerBasePlatform extends DatabasePlatform {
sb.append('[').append(ch).append(']');
}
- /**
- * Create a Postgres specific sequence IdGenerator.
- */
@Override
- public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName) {
- return new SqlServerStepSequence(be, ds, seqName, stepSize);
+ public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int increment, String seqName) {
+ return new SqlServerDbSequence(be, ds, seqName, increment);
}
/**
diff --git a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerDbSequence.java b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerDbSequence.java
new file mode 100644
index 000000000..a4d38d1f8
--- /dev/null
+++ b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerDbSequence.java
@@ -0,0 +1,13 @@
+package io.ebean.config.dbplatform.sqlserver;
+
+import io.ebean.BackgroundExecutor;
+import io.ebean.config.dbplatform.SequenceStepIdGenerator;
+
+import javax.sql.DataSource;
+
+class SqlServerDbSequence extends SequenceStepIdGenerator {
+
+ SqlServerDbSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
+ super(be, ds, seqName, stepSize, "select next value for " + seqName);
+ }
+}
diff --git a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerStepSequence.java b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerStepSequence.java
deleted file mode 100644
index d9a53a9f7..000000000
--- a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServerStepSequence.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package io.ebean.config.dbplatform.sqlserver;
-
-import io.ebean.BackgroundExecutor;
-import io.ebean.config.dbplatform.SequenceStepIdGenerator;
-
-import javax.sql.DataSource;
-
-public class SqlServerStepSequence extends SequenceStepIdGenerator {
-
- private final String nextSql;
-
- /**
- * Construct where batchSize is the sequence step size.
- */
- public SqlServerStepSequence(BackgroundExecutor be, DataSource ds, String seqName, int stepSize) {
- super(be, ds, seqName, stepSize);
- this.nextSql = "select next value for "+seqName;
- }
-
- @Override
- public String getSql(int batchSize) {
- return nextSql;
- }
-}
diff --git a/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java b/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java
index 7b36be18b..500b870e7 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/DefaultDbMigration.java
@@ -14,7 +14,6 @@ import io.ebean.config.dbplatform.cockroach.CockroachPlatform;
import io.ebean.config.dbplatform.db2.DB2Platform;
import io.ebean.config.dbplatform.h2.H2Platform;
import io.ebean.config.dbplatform.hana.HanaPlatform;
-import io.ebean.config.dbplatform.hsqldb.HsqldbPlatform;
import io.ebean.config.dbplatform.mysql.MySql55Platform;
import io.ebean.config.dbplatform.mysql.MySqlPlatform;
import io.ebean.config.dbplatform.nuodb.NuoDbPlatform;
@@ -814,8 +813,6 @@ public class DefaultDbMigration implements DbMigration {
switch (platform) {
case H2:
return new H2Platform();
- case HSQLDB:
- return new HsqldbPlatform();
case POSTGRES9:
return new Postgres9Platform();
case POSTGRES:
diff --git a/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java b/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java
index 15858e8d9..20ac919b9 100644
--- a/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java
+++ b/src/main/java/io/ebeaninternal/server/core/DatabasePlatformFactory.java
@@ -7,7 +7,6 @@ import io.ebean.config.dbplatform.cockroach.CockroachPlatform;
import io.ebean.config.dbplatform.db2.DB2Platform;
import io.ebean.config.dbplatform.h2.H2Platform;
import io.ebean.config.dbplatform.hana.HanaPlatform;
-import io.ebean.config.dbplatform.hsqldb.HsqldbPlatform;
import io.ebean.config.dbplatform.mysql.MySql55Platform;
import io.ebean.config.dbplatform.mysql.MySqlPlatform;
import io.ebean.config.dbplatform.nuodb.NuoDbPlatform;
@@ -164,8 +163,6 @@ public class DatabasePlatformFactory {
return mysqlVersion(majorVersion, minorVersion);
} else if (dbProductName.contains("h2")) {
return new H2Platform();
- } else if (dbProductName.contains("hsql database engine")) {
- return new HsqldbPlatform();
} else if (dbProductName.contains("postgres")) {
return readPostgres(connection, majorVersion);
} else if (dbProductName.contains("nuo")) {
diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java
index 2a0ea3aba..81be80f49 100644
--- a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java
+++ b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java
@@ -1401,13 +1401,13 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
String primaryKeyColumn = desc.getSinglePrimaryKeyColumn();
seqName = namingConvention.getSequenceName(desc.getBaseTable(), primaryKeyColumn);
}
- int stepSize = desc.setIdentitySequenceBatchMode(databasePlatform.isSequenceBatchMode());
- desc.setIdGenerator(createSequenceIdGenerator(seqName, stepSize));
+ int increment = desc.setIdentitySequenceDefaultIncrement();
+ desc.setIdGenerator(createSequenceIdGenerator(seqName, increment));
}
}
- private PlatformIdGenerator createSequenceIdGenerator(String seqName, int stepSize) {
- return databasePlatform.createSequenceIdGenerator(backgroundExecutor, dataSource, stepSize, seqName);
+ private PlatformIdGenerator createSequenceIdGenerator(String seqName, int increment) {
+ return databasePlatform.createSequenceIdGenerator(backgroundExecutor, dataSource, increment, seqName);
}
private void createByteCode(DeployBeanDescriptor> deploy) {
diff --git a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java
index cd5fabcd0..a955870e8 100644
--- a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java
+++ b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java
@@ -407,11 +407,8 @@ public class DeployBeanDescriptor {
identityMode.setSequenceGenerator(genName);
}
- /**
- * Return the sequence increment to use given sequence batch mode.
- */
- public int setIdentitySequenceBatchMode(boolean sequenceBatchMode) {
- return identityMode.setSequenceBatchMode(sequenceBatchMode);
+ public int setIdentitySequenceDefaultIncrement() {
+ return identityMode.setSequenceDefaultIncrement();
}
public void setIdentityType(IdType type) {
diff --git a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployIdentityMode.java b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployIdentityMode.java
index 5915dc873..f5dd3591f 100644
--- a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployIdentityMode.java
+++ b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployIdentityMode.java
@@ -54,11 +54,8 @@ public class DeployIdentityMode {
}
}
- public int setSequenceBatchMode(boolean sequenceBatchMode) {
- if (sequenceBatchMode) {
- // Ebean batch fetching multiple sequence values
- increment = 1;
- } else if (increment == 0) {
+ public int setSequenceDefaultIncrement() {
+ if (increment == 0) {
// Use JPA default of 50
increment = 50;
}
diff --git a/src/test/java/io/ebean/config/dbplatform/SequenceBatchIdGeneratorTest.java b/src/test/java/io/ebean/config/dbplatform/SequenceBatchIdGeneratorTest.java
index 7969c8778..bc942f1e7 100644
--- a/src/test/java/io/ebean/config/dbplatform/SequenceBatchIdGeneratorTest.java
+++ b/src/test/java/io/ebean/config/dbplatform/SequenceBatchIdGeneratorTest.java
@@ -39,18 +39,18 @@ public class SequenceBatchIdGeneratorTest {
}
@Override
- public String getSql(int batchSize) {
+ public String getSql() {
return "not used";
}
@Override
- protected List readIds(ResultSet resultSet, int loadSize) {
+ protected List readIds(ResultSet resultSet) {
// do nothing
return null;
}
@Override
- protected List getMoreIds(int requestSize) {
+ protected List getMoreIds() {
return null;
}
diff --git a/src/test/java/io/ebean/config/dbplatform/sqlserver/SqlServerStepSequenceTest.java b/src/test/java/io/ebean/config/dbplatform/sqlserver/SqlServerDbSequenceTest.java
similarity index 87%
rename from src/test/java/io/ebean/config/dbplatform/sqlserver/SqlServerStepSequenceTest.java
rename to src/test/java/io/ebean/config/dbplatform/sqlserver/SqlServerDbSequenceTest.java
index b89049b8c..3d5c4fd11 100644
--- a/src/test/java/io/ebean/config/dbplatform/sqlserver/SqlServerStepSequenceTest.java
+++ b/src/test/java/io/ebean/config/dbplatform/sqlserver/SqlServerDbSequenceTest.java
@@ -13,9 +13,9 @@ import javax.sql.DataSource;
import static org.assertj.core.api.Assertions.assertThat;
-public class SqlServerStepSequenceTest extends BaseTestCase {
+public class SqlServerDbSequenceTest extends BaseTestCase {
- private static final Logger log = LoggerFactory.getLogger(SqlServerStepSequenceTest.class);
+ private static final Logger log = LoggerFactory.getLogger(SqlServerDbSequenceTest.class);
@Ignore
@ForPlatform(Platform.SQLSERVER)
@@ -29,7 +29,7 @@ public class SqlServerStepSequenceTest extends BaseTestCase {
BackgroundExecutor be = server().getBackgroundExecutor();
DataSource ds = server().getPluginApi().getDataSource();
- SqlServerStepSequence s = new SqlServerStepSequence(be, ds, "sqls_testseq_9876", 50);
+ SqlServerDbSequence s = new SqlServerDbSequence(be, ds, "sqls_testseq_9876", 50);
Object id = s.nextId(null);
assertThat(id).isEqualTo(1L);
diff --git a/src/test/java/io/ebeaninternal/dbmigration/DbMigrationGenerateTest.java b/src/test/java/io/ebeaninternal/dbmigration/DbMigrationGenerateTest.java
index 2990dcf21..f28288c9e 100644
--- a/src/test/java/io/ebeaninternal/dbmigration/DbMigrationGenerateTest.java
+++ b/src/test/java/io/ebeaninternal/dbmigration/DbMigrationGenerateTest.java
@@ -48,7 +48,6 @@ public class DbMigrationGenerateTest {
// migration.addPlatform(Platform.SQLANYWHERE, "sqlanywhere"); and sqlanywhere
migration.addPlatform(Platform.DB2, "db2");
migration.addPlatform(Platform.H2, "h2");
- migration.addPlatform(Platform.HSQLDB, "hsqldb");
migration.addPlatform(Platform.MYSQL, "mysql");
migration.addPlatform(Platform.MYSQL55, "mysql55");
migration.addPlatform(Platform.POSTGRES, "postgres");
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql
deleted file mode 100644
index b4d627c18..000000000
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql
+++ /dev/null
@@ -1,174 +0,0 @@
--- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_ckey_assoc (
- id integer generated by default as identity (start with 1) not null,
- assoc_one varchar(255),
- constraint pk_migtest_ckey_assoc primary key (id)
-);
-
-create table migtest_ckey_detail (
- id integer generated by default as identity (start with 1) not null,
- something varchar(255),
- constraint pk_migtest_ckey_detail primary key (id)
-);
-
-create table migtest_ckey_parent (
- one_key integer not null,
- two_key varchar(127) not null,
- name varchar(255),
- version integer not null,
- constraint pk_migtest_ckey_parent primary key (one_key,two_key)
-);
-
-create table migtest_fk_cascade (
- id bigint generated by default as identity (start with 1) not null,
- one_id bigint,
- constraint pk_migtest_fk_cascade primary key (id)
-);
-
-create table migtest_fk_cascade_one (
- id bigint generated by default as identity (start with 1) not null,
- constraint pk_migtest_fk_cascade_one primary key (id)
-);
-
-create table migtest_fk_none (
- id bigint generated by default as identity (start with 1) not null,
- one_id bigint,
- constraint pk_migtest_fk_none primary key (id)
-);
-
-create table migtest_fk_none_via_join (
- id bigint generated by default as identity (start with 1) not null,
- one_id bigint,
- constraint pk_migtest_fk_none_via_join primary key (id)
-);
-
-create table migtest_fk_one (
- id bigint generated by default as identity (start with 1) not null,
- constraint pk_migtest_fk_one primary key (id)
-);
-
-create table migtest_fk_set_null (
- id bigint generated by default as identity (start with 1) not null,
- one_id bigint,
- constraint pk_migtest_fk_set_null primary key (id)
-);
-
-create table migtest_e_basic (
- id integer generated by default as identity (start with 1) not null,
- status varchar(1),
- status2 varchar(1) default 'N' not null,
- name varchar(127),
- description varchar(127),
- some_date timestamp,
- old_boolean boolean default false not null,
- old_boolean2 boolean,
- eref_id integer,
- indextest1 varchar(127),
- indextest2 varchar(127),
- indextest3 varchar(127),
- indextest4 varchar(127),
- indextest5 varchar(127),
- indextest6 varchar(127),
- user_id integer not null,
- constraint ck_migtest_e_basic_status check ( status in ('N','A','I')),
- constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')),
- constraint uq_migtest_e_basic_indextest2 unique (indextest2),
- constraint uq_migtest_e_basic_indextest6 unique (indextest6),
- constraint pk_migtest_e_basic primary key (id)
-);
-
-create table migtest_e_enum (
- id integer generated by default as identity (start with 1) not null,
- test_status varchar(1),
- constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')),
- constraint pk_migtest_e_enum primary key (id)
-);
-
-create table migtest_e_history (
- id integer generated by default as identity (start with 1) not null,
- test_string varchar(255),
- constraint pk_migtest_e_history primary key (id)
-);
-
-create table migtest_e_history2 (
- id integer generated by default as identity (start with 1) not null,
- test_string varchar(255),
- obsolete_string1 varchar(255),
- obsolete_string2 varchar(255),
- constraint pk_migtest_e_history2 primary key (id)
-);
-
-create table migtest_e_history3 (
- id integer generated by default as identity (start with 1) not null,
- test_string varchar(255),
- constraint pk_migtest_e_history3 primary key (id)
-);
-
-create table migtest_e_history4 (
- id integer generated by default as identity (start with 1) not null,
- test_number integer,
- constraint pk_migtest_e_history4 primary key (id)
-);
-
-create table migtest_e_history5 (
- id integer generated by default as identity (start with 1) not null,
- test_number integer,
- constraint pk_migtest_e_history5 primary key (id)
-);
-
-create table migtest_e_history6 (
- id integer generated by default as identity (start with 1) not null,
- test_number1 integer,
- test_number2 integer not null,
- constraint pk_migtest_e_history6 primary key (id)
-);
-
-create table migtest_e_ref (
- id integer generated by default as identity (start with 1) not null,
- name varchar(127) not null,
- constraint uq_migtest_e_ref_name unique (name),
- constraint pk_migtest_e_ref primary key (id)
-);
-
-create table migtest_e_softdelete (
- id integer generated by default as identity (start with 1) not null,
- test_string varchar(255),
- constraint pk_migtest_e_softdelete primary key (id)
-);
-
-create table migtest_mtm_c (
- id integer generated by default as identity (start with 1) not null,
- name varchar(255),
- constraint pk_migtest_mtm_c primary key (id)
-);
-
-create table migtest_mtm_m (
- id bigint generated by default as identity (start with 1) not null,
- name varchar(255),
- constraint pk_migtest_mtm_m primary key (id)
-);
-
-create table migtest_oto_child (
- id integer generated by default as identity (start with 1) not null,
- name varchar(255),
- constraint pk_migtest_oto_child primary key (id)
-);
-
-create table migtest_oto_master (
- id bigint generated by default as identity (start with 1) not null,
- name varchar(255),
- constraint pk_migtest_oto_master primary key (id)
-);
-
-create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
-create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update cascade;
-
-create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update set null;
-
-create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
-alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql
deleted file mode 100644
index cebb8b994..000000000
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql
+++ /dev/null
@@ -1,110 +0,0 @@
--- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_e_user (
- id integer generated by default as identity (start with 1) not null,
- constraint pk_migtest_e_user primary key (id)
-);
-
-create table migtest_mtm_c_migtest_mtm_m (
- migtest_mtm_c_id integer not null,
- migtest_mtm_m_id bigint not null,
- constraint pk_migtest_mtm_c_migtest_mtm_m primary key (migtest_mtm_c_id,migtest_mtm_m_id)
-);
-
-create table migtest_mtm_m_migtest_mtm_c (
- migtest_mtm_m_id bigint not null,
- migtest_mtm_c_id integer not null,
- constraint pk_migtest_mtm_m_migtest_mtm_c primary key (migtest_mtm_m_id,migtest_mtm_c_id)
-);
-
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-
-update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-
--- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
-
-insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string bigint;
-comment on table migtest_e_history is 'We have history now';
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history2 set test_string = 'unknown' where test_string is null;
-alter table migtest_e_history2 alter column test_string set default 'unknown';
-alter table migtest_e_history2 alter column test_string set not null;
-alter table migtest_e_history2 add column test_string2 varchar(255);
-alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add column new_column varchar(20);
-
-alter table migtest_e_history4 alter column test_number bigint;
-alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
-alter table migtest_e_history6 alter column test_number1 set default 42;
-alter table migtest_e_history6 alter column test_number1 set not null;
-alter table migtest_e_history6 alter column test_number2 set null;
-alter table migtest_e_softdelete add column deleted boolean default false not null;
-
-alter table migtest_oto_child add column master_id bigint;
-
-create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
-create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
-create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
-alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
-
-create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_m on migtest_mtm_c_migtest_mtm_m (migtest_mtm_m_id);
-alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_m foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
-
-create index ix_migtest_mtm_m_migtest_mtm_c_migtest_mtm_m on migtest_mtm_m_migtest_mtm_c (migtest_mtm_m_id);
-alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_mtm_c_migtest_mtm_m foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
-
-create index ix_migtest_mtm_m_migtest_mtm_c_migtest_mtm_c on migtest_mtm_m_migtest_mtm_c (migtest_mtm_c_id);
-alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_mtm_c_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
-
-create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
-alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
-
-alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql
deleted file mode 100644
index 6fb11c3a4..000000000
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql
+++ /dev/null
@@ -1,14 +0,0 @@
--- Migrationscripts for ebean unittest
--- apply changes
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table if exists migtest_e_ref;
-drop sequence if exists migtest_e_ref_seq;
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql
deleted file mode 100644
index ed3b50536..000000000
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql
+++ /dev/null
@@ -1,67 +0,0 @@
--- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_e_ref (
- id integer generated by default as identity (start with 1) not null,
- name varchar(127) not null,
- constraint uq_migtest_e_ref_name unique (name),
- constraint pk_migtest_e_ref primary key (id)
-);
-
-alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update cascade;
-alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update set null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
-
-update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(1);
-alter table migtest_e_basic alter column status2 set default 'N';
-alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
-alter table migtest_e_basic alter column user_id set default 23;
-alter table migtest_e_basic alter column user_id set not null;
-alter table migtest_e_basic add column old_boolean boolean default false not null;
-alter table migtest_e_basic add column old_boolean2 boolean;
-alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
-alter table migtest_e_history2 alter column test_string drop default;
-alter table migtest_e_history2 alter column test_string set null;
-alter table migtest_e_history2 add column obsolete_string1 varchar(255);
-alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
-alter table migtest_e_history4 alter column test_number integer;
-alter table migtest_e_history6 alter column test_number1 drop default;
-alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-alter table migtest_e_history6 alter column test_number2 set default 7;
-alter table migtest_e_history6 alter column test_number2 set not null;
-create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
-create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
-create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
-alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql
deleted file mode 100644
index c613e4a5a..000000000
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql
+++ /dev/null
@@ -1,34 +0,0 @@
--- Migrationscripts for ebean unittest
--- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table if exists migtest_e_user;
-drop sequence if exists migtest_e_user_seq;
-drop table if exists migtest_mtm_c_migtest_mtm_m;
-drop table if exists migtest_mtm_m_migtest_mtm_c;
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/R__order_views_hsqldb.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/R__order_views_hsqldb.sql
deleted file mode 100644
index 5f7ba1784..000000000
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/R__order_views_hsqldb.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
- drop view order_agg_vw if exists ;
- create view order_agg_vw as
- select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
- sum(d.ship_qty * d.unit_price) as ship_total
- from o_order_detail d
- group by d.order_id;
-
\ No newline at end of file