Skip to content

Commit 700b0ad

Browse files
committed
HHH-19033 - Restore Derby dialect in the community dialects
Signed-off-by: Jan Schatteman <[email protected]>
1 parent 6e64d78 commit 700b0ad

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CommunityDatabase.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,23 @@ public boolean productNameMatches(String databaseName) {
226226
public String getDriverClassName(String jdbcUrl) {
227227
return "com.singlestore.jdbc.Driver";
228228
}
229+
},
230+
231+
DERBY {
232+
@Override
233+
public Dialect createDialect(DialectResolutionInfo info) {
234+
return new DerbyDialect( info );
235+
}
236+
@Override
237+
public boolean productNameMatches(String databaseName) {
238+
return "Apache Derby".equals( databaseName );
239+
}
240+
@Override
241+
public String getDriverClassName(String jdbcUrl) {
242+
return jdbcUrl.startsWith( "jdbc:derby://" )
243+
? "org.apache.derby.jdbc.ClientDriver"
244+
: "org.apache.derby.jdbc.EmbeddedDriver";
245+
}
229246
};
230247

231248
/**

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/CommunityDialectSelector.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public Class<? extends Dialect> resolve(String name) {
5050
return TimesTenDialect.class;
5151
case "SingleStore":
5252
return SingleStoreDialect.class;
53+
case "Derby":
54+
return DerbyDialect.class;
5355
}
5456
return null;
5557
}

hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/CommunityDialectSelectorTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public void verifyAllDialectNamingResolve() {
2828
testDialectNamingResolution( TeradataDialect.class );
2929
testDialectNamingResolution( TimesTenDialect.class );
3030
testDialectNamingResolution( SingleStoreDialect.class );
31+
testDialectNamingResolution( DerbyDialect.class );
3132
}
3233

3334
private void testDialectNamingResolution(final Class<?> dialectClass) {

0 commit comments

Comments
 (0)