* @since 5.0
*/
int getScrollSingleRowFetchSize();
+
+ /**
+ * Indicates whether DB migration can be perform on the DB vendor implementation associated with the current dialect.
+ *
+ * @return a boolean
+ */
+ boolean supportsMigration();
}
return StringUtils.startsWithIgnoreCase(jdbcConnectionURL, "jdbc:h2:");
}
+ @Override
+ public boolean supportsMigration() {
+ return false;
+ }
+
}
|| StringUtils.startsWithIgnoreCase(jdbcConnectionURL, "jdbc:jtds:sqlserver:");
}
+ @Override
+ public boolean supportsMigration() {
+ return true;
+ }
+
public static class MsSqlDialect extends SQLServerDialect {
public MsSqlDialect() {
super();
public int getScrollSingleRowFetchSize() {
return Integer.MIN_VALUE;
}
+
+ @Override
+ public boolean supportsMigration() {
+ return true;
+ }
}
return StringUtils.startsWithIgnoreCase(jdbcConnectionURL, "jdbc:oracle:");
}
+ @Override
+ public boolean supportsMigration() {
+ return true;
+ }
+
public static class Oracle10gWithDecimalDialect extends Oracle10gDialect {
public Oracle10gWithDecimalDialect() {
super();
return StringUtils.startsWithIgnoreCase(jdbcConnectionURL, "jdbc:postgresql:");
}
+ @Override
+ public List<String> getConnectionInitStatements() {
+ return INIT_STATEMENTS;
+ }
+
+ @Override
+ public boolean supportsMigration() {
+ return true;
+ }
+
public static class PostgreSQLWithDecimalDialect extends PostgreSQLDialect {
+
public PostgreSQLWithDecimalDialect() {
super();
registerColumnType(Types.DOUBLE, "numeric($p,$s)");
}
-
@Override
public Class getNativeIdentifierGeneratorClass() {
return PostgreSQLSequenceGenerator.class;
}
- }
- @Override
- public List<String> getConnectionInitStatements() {
- return INIT_STATEMENTS;
}
}
public void testFetchSizeForScrolling() throws Exception {
assertThat(dialect.getScrollDefaultFetchSize()).isEqualTo(200);
}
+
+ @Test
+ public void h2_does_not_supportMigration() throws Exception {
+ assertThat(dialect.supportsMigration()).isFalse();
+ }
}
assertThat(msSql.getDefaultDriverClassName()).isEqualTo("net.sourceforge.jtds.jdbc.Driver");
assertThat(msSql.getValidationQuery()).isEqualTo("SELECT 1");
}
+
+ @Test
+ public void msSql_does_supportMigration() throws Exception {
+ assertThat(msSql.supportsMigration()).isTrue();
+ }
}
assertThat(mySql.getScrollDefaultFetchSize()).isEqualTo(Integer.MIN_VALUE);
assertThat(mySql.getScrollSingleRowFetchSize()).isEqualTo(Integer.MIN_VALUE);
}
+
+ @Test
+ public void mysql_does_supportMigration() throws Exception {
+ assertThat(mySql.supportsMigration()).isTrue();
+ }
}
assertThat(dialect.getScrollDefaultFetchSize()).isEqualTo(200);
assertThat(dialect.getScrollSingleRowFetchSize()).isEqualTo(1);
}
+
+ @Test
+ public void oracle_does_supportMigration() throws Exception {
+ assertThat(dialect.supportsMigration()).isTrue();
+ }
}
public void testFetchSizeForScrolling() throws Exception {
assertThat(dialect.getScrollDefaultFetchSize()).isEqualTo(200);
}
+
+ @Test
+ public void postgres_does_supportMigration() throws Exception {
+ assertThat(dialect.supportsMigration()).isTrue();
+ }
}