# HG changeset patch
# User Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
# Date 1616084633 -3600
# Node ID 333c3752e11844501f5fdda9bb90d47231e7231e
# Parent  ebda95332d57de5d9148ea803dd341fad0101351
Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.

diff --git a/tests/JDBC_API_Tester.java b/tests/JDBC_API_Tester.java
--- a/tests/JDBC_API_Tester.java
+++ b/tests/JDBC_API_Tester.java
@@ -3461,11 +3461,14 @@ final public class JDBC_API_Tester {
 	private void BugConcurrent_sequences(String arg0) {
 		sb.setLength(0);	// clear the output log buffer
 
+		boolean isPostOct2020 = false;
 		Connection con1 = null, con2 = null;
 		Statement stmt1 = null, stmt2 = null;
 		ResultSet rs1 = null, rs2 = null;
 		try {
 			con1 = DriverManager.getConnection(arg0);
+			DatabaseMetaData dbmd = con1.getMetaData();
+			isPostOct2020 = (dbmd.getDatabaseMajorVersion() >=11) && (dbmd.getDatabaseMinorVersion() > 39);
 			con2 = DriverManager.getConnection(arg0);
 			stmt1 = con1.createStatement();
 			stmt2 = con2.createStatement();
@@ -3493,9 +3496,9 @@ final public class JDBC_API_Tester {
 
 			try {
 				con2.commit();
-				sb.append("transaction client 2 PASSED :(\n");
+				sb.append("transaction client 2 passed :)\n");
 			} catch (SQLException e) {
-				sb.append("transaction client 2 failed :)\n");
+				sb.append("transaction client 2 failed!\n");
 			}
 			con2.setAutoCommit(true);
 			stmt2.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client2')");
@@ -3525,6 +3528,53 @@ final public class JDBC_API_Tester {
 			sb.append("FAILED: ").append(e.getMessage()).append("\n");
 		}
 
+		compareExpectedOutput("BugConcurrent_sequences",
+			isPostOct2020 ?
+				"0. true	true\n" +
+				"0. true	true\n" +
+				"1. create table tconc_seq using client 1... passed :)\n" +
+				"2. insert into tconc_seq using client 1 and 2... client 1 passed :)\n" +
+				"transaction on client 2 :)\n" +
+				"client 1 passed :)\n" +
+				"transaction client 2 passed :)\n" +
+				"passed :)\n" +
+				"2.1. check table status with client 1...\n" +
+				"1, client1\n" +
+				"2, client2\n" +
+				"3, client1\n" +
+				"4, client2\n" +
+				"passed :)\n" +
+				"2.2. check table status with client 2...\n" +
+				"1, client1\n" +
+				"2, client2\n" +
+				"3, client1\n" +
+				"4, client2\n" +
+				"passed :)\n" +
+				"3.1. drop table tconc_seq using client 1... passed :)\n" +
+				"3.1. recreate tconc_seq using client 1... passed :)\n"
+			:	// behavior of older MonetDB versions (up to Oct2020 release) was different
+				"0. true	true\n" +
+				"0. true	true\n" +
+				"1. create table tconc_seq using client 1... passed :)\n" +
+				"2. insert into tconc_seq using client 1 and 2... client 1 passed :)\n" +
+				"transaction on client 2 :)\n" +
+				"client 1 passed :)\n" +
+				"transaction client 2 failed!\n" +
+				"passed :)\n" +
+				"2.1. check table status with client 1...\n" +
+				"1, client1\n" +
+				"3, client1\n" +
+				"4, client2\n" +
+				"passed :)\n" +
+				"2.2. check table status with client 2...\n" +
+				"1, client1\n" +
+				"3, client1\n" +
+				"4, client2\n" +
+				"passed :)\n" +
+				"3.1. drop table tconc_seq using client 1... passed :)\n" +
+				"3.1. recreate tconc_seq using client 1... passed :)\n");
+		sb.setLength(0);	// clear the output log buffer
+
 		try {
 			// re-establish connection
 			sb.append("x. Reconnecting client 1 and 2... ");
@@ -3584,26 +3634,6 @@ final public class JDBC_API_Tester {
 		closeConx(con1);
 
 		compareExpectedOutput("BugConcurrent_sequences",
-				"0. true	true\n" +
-				"0. true	true\n" +
-				"1. create table tconc_seq using client 1... passed :)\n" +
-				"2. insert into tconc_seq using client 1 and 2... client 1 passed :)\n" +
-				"transaction on client 2 :)\n" +
-				"client 1 passed :)\n" +
-				"transaction client 2 failed :)\n" +
-				"passed :)\n" +
-				"2.1. check table status with client 1...\n" +
-				"1, client1\n" +
-				"3, client1\n" +
-				"4, client2\n" +
-				"passed :)\n" +
-				"2.2. check table status with client 2...\n" +
-				"1, client1\n" +
-				"3, client1\n" +
-				"4, client2\n" +
-				"passed :)\n" +
-				"3.1. drop table tconc_seq using client 1... passed :)\n" +
-				"3.1. recreate tconc_seq using client 1... passed :)\n" +
 				"x. Reconnecting client 1 and 2... passed :)\n" +
 				"4. insert into tconc_seq using client 1 and 2...\n" +
 				"passed :)\n" +