DBZ-7257 Fix regression in parsin Oracle 12 version
This commit is contained in:
parent
043f11e261
commit
676876689c
@ -15,9 +15,9 @@
|
||||
*/
|
||||
public class OracleDatabaseVersion {
|
||||
private final static Pattern VERSION_PATTERN = Pattern
|
||||
.compile("Oracle Database.*\\nVersion ([0-9]*)\\.([0-9]*)\\.([0-9]*)\\.([0-9]*)\\.([0-9]*)");
|
||||
.compile("(?:.*)(?:Release )([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:.*)");
|
||||
private final static Pattern VERSION_18_1_PATTERN = Pattern
|
||||
.compile("(?:.*)(?:\\- Production(?:\\r\\n|\\r|\\n)(?:Version ))([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)");
|
||||
.compile("^Oracle Database.*(?:\\r\\n|\\r|\\n)^(?:Version )([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)", Pattern.MULTILINE);
|
||||
|
||||
private final int major;
|
||||
private final int maintenance;
|
||||
|
@ -9,6 +9,8 @@
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import io.debezium.doc.FixFor;
|
||||
|
||||
/**
|
||||
* Test paring of various Oracle version strings.
|
||||
*
|
||||
@ -16,6 +18,22 @@
|
||||
*/
|
||||
public class OracleDatabaseVersionTest {
|
||||
|
||||
@Test
|
||||
@FixFor("DBZ-7257")
|
||||
public void shouldParseOracle11g() throws Exception {
|
||||
String banner = "Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production";
|
||||
OracleDatabaseVersion version = OracleDatabaseVersion.parse(banner);
|
||||
assertOracleVersion(version, 11, 2, 0, 4, 0, banner);
|
||||
}
|
||||
|
||||
@Test
|
||||
@FixFor("DBZ-7257")
|
||||
public void shouldParseOracle12c() throws Exception {
|
||||
String banner = "Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production";
|
||||
OracleDatabaseVersion version = OracleDatabaseVersion.parse(banner);
|
||||
assertOracleVersion(version, 12, 1, 0, 2, 0, banner);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldParseOracle19c() throws Exception {
|
||||
String banner = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production\nVersion 19.3.0.0.0";
|
||||
@ -30,6 +48,13 @@ public void shouldParseOracle21c() throws Exception {
|
||||
assertOracleVersion(version, 21, 3, 0, 0, 0, banner);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldParseOracle23cFree() throws Exception {
|
||||
String banner = "Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free\nVersion 23.3.0.23.09";
|
||||
OracleDatabaseVersion version = OracleDatabaseVersion.parse(banner);
|
||||
assertOracleVersion(version, 23, 3, 0, 23, 9, banner);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldParseOracle23c() throws Exception {
|
||||
String banner = "Oracle Database 23c Enterprise Edition Release 23.0.0.0.0\nVersion 23.4.0.23.10";
|
||||
|
Loading…
Reference in New Issue
Block a user