From cea95c303fe9944dbcad694395db777a03c1ef16 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 19 Sep 2018 14:20:16 +0200 Subject: [PATCH] Add support for SAP Hana Database See gh-14513 --- .../java/org/springframework/boot/jdbc/DatabaseDriver.java | 6 ++++++ .../org/springframework/boot/jdbc/DatabaseDriverTests.java | 3 +++ 2 files changed, 9 insertions(+) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java index 367f0dcd309..d17e1b47c44 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java @@ -99,6 +99,12 @@ public enum DatabaseDriver { POSTGRESQL("PostgreSQL", "org.postgresql.Driver", "org.postgresql.xa.PGXADataSource", "SELECT 1"), + /** + * SAP - SAP Hana Database - HDB. + */ + SAP("HDB", "com.sap.db.jdbc.Driver", "com.sap.db.jdbcext.XADataSourceSAP", + "SELECT 1 FROM DUMMY"), + /** * jTDS. As it can be used for several databases, there isn't a single product name we * could rely on. diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java index 0396a75b889..2778231653d 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java @@ -74,6 +74,7 @@ public class DatabaseDriverTests { assertThat(DatabaseDriver.fromProductName("Apache Derby")) .isEqualTo(DatabaseDriver.DERBY); assertThat(DatabaseDriver.fromProductName("H2")).isEqualTo(DatabaseDriver.H2); + assertThat(DatabaseDriver.fromProductName("HDB")).isEqualTo(DatabaseDriver.SAP); assertThat(DatabaseDriver.fromProductName("HSQL Database Engine")) .isEqualTo(DatabaseDriver.HSQLDB); assertThat(DatabaseDriver.fromProductName("SQLite")) @@ -113,6 +114,8 @@ public class DatabaseDriverTests { .isEqualTo(DatabaseDriver.DERBY); assertThat(DatabaseDriver.fromJdbcUrl("jdbc:h2:~/sample")) .isEqualTo(DatabaseDriver.H2); + assertThat(DatabaseDriver.fromJdbcUrl("jdbc:sap:localhost")) + .isEqualTo(DatabaseDriver.SAP); assertThat(DatabaseDriver.fromJdbcUrl("jdbc:hsqldb:hsql://localhost")) .isEqualTo(DatabaseDriver.HSQLDB); assertThat(DatabaseDriver.fromJdbcUrl("jdbc:sqlite:sample.db"))