Skip to content

Commit d39ba13

Browse files
Tommy Svendsenmbellade
authored andcommitted
HHH-18518 Using StringHelper to split versionString instead of regex parsing
1 parent 9ac9637 commit d39ba13

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/MySQLDialect.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
import java.util.Date;
1818
import java.util.TimeZone;
1919

20-
import java.util.regex.Matcher;
21-
import java.util.regex.Pattern;
2220
import org.hibernate.Length;
2321
import org.hibernate.LockOptions;
2422
import org.hibernate.PessimisticLockException;
@@ -214,12 +212,12 @@ protected static DatabaseVersion createVersion(DialectResolutionInfo info) {
214212
protected static DatabaseVersion createVersion(DialectResolutionInfo info, DatabaseVersion defaultVersion) {
215213
final String versionString = info.getDatabaseVersion();
216214
if ( versionString != null ) {
217-
final Matcher matcher = Pattern.compile("^(\\d+)\\.(\\d+)\\.(\\d+).*").matcher(versionString);
218-
if ( matcher.matches() && matcher.groupCount() >= 3 ) {
215+
final String[] components = StringHelper.split(".-", versionString);
216+
if ( components.length >= 3 ) {
219217
try {
220-
final int majorVersion = Integer.parseInt( matcher.group(1));
221-
final int minorVersion = Integer.parseInt( matcher.group(2) );
222-
final int patchLevel = Integer.parseInt( matcher.group(3) );
218+
final int majorVersion = Integer.parseInt( components[0] );
219+
final int minorVersion = Integer.parseInt( components[1] );
220+
final int patchLevel = Integer.parseInt( components[2] );
223221
return DatabaseVersion.make( majorVersion, minorVersion, patchLevel );
224222
}
225223
catch (NumberFormatException ex) {

0 commit comments

Comments
 (0)