Skip to content

Commit 053323f

Browse files
anudeepgsnicoll
authored andcommitted
Fix database name detection logic for MariaDB
See gh-25173
1 parent b50fb82 commit 053323f

File tree

2 files changed

+2
-8
lines changed

2 files changed

+2
-8
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@ public enum DatabaseDriver {
7070
/**
7171
* Maria DB.
7272
*/
73-
MARIADB("MySQL", "org.mariadb.jdbc.Driver", "org.mariadb.jdbc.MariaDbDataSource", "SELECT 1") {
74-
73+
MARIADB("MariaDB", "org.mariadb.jdbc.Driver", "org.mariadb.jdbc.MariaDbDataSource", "SELECT 1") {
7574
@Override
7675
public String getId() {
7776
return "mysql";
@@ -122,7 +121,6 @@ protected Collection<String> getUrlPrefixes() {
122121
*/
123122
SQLSERVER("Microsoft SQL Server", "com.microsoft.sqlserver.jdbc.SQLServerDriver",
124123
"com.microsoft.sqlserver.jdbc.SQLServerXADataSource", "SELECT 1") {
125-
126124
@Override
127125
protected boolean matchProductName(String productName) {
128126
return super.matchProductName(productName) || "SQL SERVER".equalsIgnoreCase(productName);
@@ -135,7 +133,6 @@ protected boolean matchProductName(String productName) {
135133
*/
136134
FIREBIRD("Firebird", "org.firebirdsql.jdbc.FBDriver", "org.firebirdsql.ds.FBXADataSource",
137135
"SELECT 1 FROM RDB$DATABASE") {
138-
139136
@Override
140137
protected Collection<String> getUrlPrefixes() {
141138
return Arrays.asList("firebirdsql", "firebird");
@@ -152,7 +149,6 @@ protected boolean matchProductName(String productName) {
152149
* DB2 Server.
153150
*/
154151
DB2("DB2", "com.ibm.db2.jcc.DB2Driver", "com.ibm.db2.jcc.DB2XADataSource", "SELECT 1 FROM SYSIBM.SYSDUMMY1") {
155-
156152
@Override
157153
protected boolean matchProductName(String productName) {
158154
return super.matchProductName(productName) || productName.toLowerCase(Locale.ENGLISH).startsWith("db2/");
@@ -164,7 +160,6 @@ protected boolean matchProductName(String productName) {
164160
*/
165161
DB2_AS400("DB2 UDB for AS/400", "com.ibm.as400.access.AS400JDBCDriver",
166162
"com.ibm.as400.access.AS400JDBCXADataSource", "SELECT 1 FROM SYSIBM.SYSDUMMY1") {
167-
168163
@Override
169164
public String getId() {
170165
return "db2";
@@ -190,7 +185,6 @@ protected boolean matchProductName(String productName) {
190185
* Informix.
191186
*/
192187
INFORMIX("Informix Dynamic Server", "com.informix.jdbc.IfxDriver", null, "select count(*) from systables") {
193-
194188
@Override
195189
protected Collection<String> getUrlPrefixes() {
196190
return Arrays.asList("informix-sqli", "informix-direct");
@@ -208,7 +202,6 @@ protected Collection<String> getUrlPrefixes() {
208202
* Testcontainers.
209203
*/
210204
TESTCONTAINERS(null, "org.testcontainers.jdbc.ContainerDatabaseDriver") {
211-
212205
@Override
213206
protected Collection<String> getUrlPrefixes() {
214207
return Collections.singleton("tc");

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ void databaseProductNameLookups() {
6969
assertThat(DatabaseDriver.fromProductName("HSQL Database Engine")).isEqualTo(DatabaseDriver.HSQLDB);
7070
assertThat(DatabaseDriver.fromProductName("SQLite")).isEqualTo(DatabaseDriver.SQLITE);
7171
assertThat(DatabaseDriver.fromProductName("MySQL")).isEqualTo(DatabaseDriver.MYSQL);
72+
assertThat(DatabaseDriver.fromProductName("MariaDB")).isEqualTo(DatabaseDriver.MARIADB);
7273
assertThat(DatabaseDriver.fromProductName("Oracle")).isEqualTo(DatabaseDriver.ORACLE);
7374
assertThat(DatabaseDriver.fromProductName("PostgreSQL")).isEqualTo(DatabaseDriver.POSTGRESQL);
7475
assertThat(DatabaseDriver.fromProductName("Amazon Redshift")).isEqualTo(DatabaseDriver.REDSHIFT);

0 commit comments

Comments
 (0)