Changeset: 0ff364f569a1 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/0ff364f569a1
Modified Files:
        tests/JDBC_API_Tester.java
Branch: default
Log Message:

Adjust Test_DBCmetadata() to exclude creating, retrieving and dropping indices 
on temporary tables for MonetDB servers before Jan2022 (11.45).
This allows the JDBC_API_Tester test to be re-activated in the nightly tests on 
older branches such as Jul2021.


diffs (95 lines):

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
@@ -1006,6 +1006,10 @@ final public class JDBC_API_Tester {
                        sb.append("Failed to createStatement: 
").append(e.getMessage()).append("\n");
                }
 
+               /* servers before Jan2022 (11.45) have a problem (server crash 
and db corruption)
+                  with indexes created on temp tables, so conditionally 
execute those commands and tests */
+               boolean testCreateDropIndexOnTmpTables = !(dbmsMajorVersion == 
11 && dbmsMinorVersion <= 43);
+
                String action = "Create";
                handleExecuteDDL(stmt, action, "schema", "jdbctst", "CREATE 
SCHEMA jdbctst; SET SCHEMA jdbctst;");
 
@@ -1046,16 +1050,18 @@ final public class JDBC_API_Tester {
                objtype = "index";
                handleExecuteDDL(stmt, action, objtype, "pk_uc_i",
                        "CREATE INDEX pk_uc_i ON jdbctst.pk_uc (id1, name1);");
-               handleExecuteDDL(stmt, action, objtype, "tmp_pk_uc_i",
-                       "CREATE INDEX tmp_pk_uc_i ON tmp.tmp_pk_uc (id1, 
name1);");
-               handleExecuteDDL(stmt, action, objtype, "glbl_pk_uc_i",
-                       "CREATE INDEX glbl_pk_uc_i ON tmp.glbl_pk_uc (id1, 
name1);");
                handleExecuteDDL(stmt, action, objtype, "nopk_twoucs_i",
                        "CREATE INDEX nopk_twoucs_i ON jdbctst.nopk_twoucs 
(id2, name2);");
-               handleExecuteDDL(stmt, action, objtype, "tmp_nopk_twoucs_i",
-                       "CREATE INDEX tmp_nopk_twoucs_i ON tmp.tmp_nopk_twoucs 
(id2, name2);");
-               handleExecuteDDL(stmt, action, objtype, "glbl_nopk_twoucs_i",
-                       "CREATE INDEX glbl_nopk_twoucs_i ON 
tmp.glbl_nopk_twoucs (id2, name2);");
+               if (testCreateDropIndexOnTmpTables) {
+                       handleExecuteDDL(stmt, action, objtype, "tmp_pk_uc_i",
+                               "CREATE INDEX tmp_pk_uc_i ON tmp.tmp_pk_uc 
(id1, name1);");
+                       handleExecuteDDL(stmt, action, objtype, "glbl_pk_uc_i",
+                               "CREATE INDEX glbl_pk_uc_i ON tmp.glbl_pk_uc 
(id1, name1);");
+                       handleExecuteDDL(stmt, action, objtype, 
"tmp_nopk_twoucs_i",
+                               "CREATE INDEX tmp_nopk_twoucs_i ON 
tmp.tmp_nopk_twoucs (id2, name2);");
+                       handleExecuteDDL(stmt, action, objtype, 
"glbl_nopk_twoucs_i",
+                               "CREATE INDEX glbl_nopk_twoucs_i ON 
tmp.glbl_nopk_twoucs (id2, name2);");
+               }
 
                // grant privileges to populate catalog. Used for testing 
getTablePrivileges() and getColumnPrivileges()
                action = "grant";
@@ -1203,6 +1209,7 @@ final public class JDBC_API_Tester {
                        "null   sys     key_types       false   null    
key_types_key_type_id_pkey      2       1       key_type_id     null    3       
0       null\n" +
                        "null   sys     key_types       false   null    
key_types_key_type_name_unique  2       1       key_type_name   null    3       
0       null\n");
 
+                       if (testCreateDropIndexOnTmpTables) {
                        compareResultSet(dbmd.getIndexInfo(null, "tmp", 
"tmp_pk_uc", false, false), "getIndexInfo(null, tmp, tmp_pk_uc, false, false)",
                        "Resultset with 13 columns\n" +
                        "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      
NON_UNIQUE      INDEX_QUALIFIER INDEX_NAME      TYPE    ORDINAL_POSITION        
COLUMN_NAME     ASC_OR_DESC     CARDINALITY     PAGES   FILTER_CONDITION\n" +
@@ -1211,7 +1218,9 @@ final public class JDBC_API_Tester {
                        "null   tmp     tmp_pk_uc       false   null    
tmp_pk_uc_name1_unique  2       1       name1   null    0       0       null\n" 
+
                        "null   tmp     tmp_pk_uc       true    null    
tmp_pk_uc_i     2       1       id1     null    0       0       null\n" +
                        "null   tmp     tmp_pk_uc       true    null    
tmp_pk_uc_i     2       2       name1   null    0       0       null\n");
-
+                       }
+
+                       if (testCreateDropIndexOnTmpTables) {
                        compareResultSet(dbmd.getIndexInfo(null, "tmp", 
"glbl_pk_uc", false, false), "getIndexInfo(null, tmp, glbl_pk_uc, false, 
false)",
                        "Resultset with 13 columns\n" +
                        "TABLE_CAT      TABLE_SCHEM     TABLE_NAME      
NON_UNIQUE      INDEX_QUALIFIER INDEX_NAME      TYPE    ORDINAL_POSITION        
COLUMN_NAME     ASC_OR_DESC     CARDINALITY     PAGES   FILTER_CONDITION\n" +
@@ -1220,6 +1229,7 @@ final public class JDBC_API_Tester {
                        "null   tmp     glbl_pk_uc      false   null    
glbl_pk_uc_name1_unique 2       1       name1   null    0       0       null\n" 
+
                        "null   tmp     glbl_pk_uc      true    null    
glbl_pk_uc_i    2       1       id1     null    0       0       null\n" +
                        "null   tmp     glbl_pk_uc      true    null    
glbl_pk_uc_i    2       2       name1   null    0       0       null\n");
+                       }
 
                        compareResultSet(dbmd.getBestRowIdentifier(null, "sys", 
"function_languages", DatabaseMetaData.bestRowTransaction, true),
                                                "getBestRowIdentifier(null, 
sys, function_languages, DatabaseMetaData.bestRowTransaction, true)",
@@ -1345,11 +1355,13 @@ final public class JDBC_API_Tester {
                action = "Drop";
                objtype = "index";
                handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc_i", 
"DROP INDEX jdbctst.pk_uc_i;");
-               handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc_i;", 
"DROP INDEX tmp.tmp_pk_uc_i;");
-               handleExecuteDDL(stmt, action, objtype, "tmp.glbl_pk_uc_i", 
"DROP INDEX tmp.glbl_pk_uc_i;");
                handleExecuteDDL(stmt, action, objtype, 
"jdbctst.nopk_twoucs_i", "DROP INDEX jdbctst.nopk_twoucs_i;");
-               handleExecuteDDL(stmt, action, objtype, 
"tmp.tmp_nopk_twoucs_i", "DROP INDEX tmp.tmp_nopk_twoucs_i;");
-               handleExecuteDDL(stmt, action, objtype, 
"tmp.glbl_nopk_twoucs_i", "DROP INDEX tmp.glbl_nopk_twoucs_i;");
+               if (testCreateDropIndexOnTmpTables) {
+                       handleExecuteDDL(stmt, action, objtype, 
"tmp.tmp_pk_uc_i;", "DROP INDEX tmp.tmp_pk_uc_i;");
+                       handleExecuteDDL(stmt, action, objtype, 
"tmp.glbl_pk_uc_i", "DROP INDEX tmp.glbl_pk_uc_i;");
+                       handleExecuteDDL(stmt, action, objtype, 
"tmp.tmp_nopk_twoucs_i", "DROP INDEX tmp.tmp_nopk_twoucs_i;");
+                       handleExecuteDDL(stmt, action, objtype, 
"tmp.glbl_nopk_twoucs_i", "DROP INDEX tmp.glbl_nopk_twoucs_i;");
+               }
                objtype = "table";
                handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc", "DROP 
TABLE jdbctst.pk_uc;");
                handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc", "DROP 
TABLE tmp.tmp_pk_uc;");
@@ -1385,7 +1397,7 @@ final public class JDBC_API_Tester {
 
                closeStmtResSet(stmt, null);
 
-               compareExpectedOutput("Test_Dmetadata", "");
+               compareExpectedOutput("Test_DBCmetadata", "");
        }
 
        private void Test_EmptySql() {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to