Changeset: 63af48da4308 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=63af48da4308
Added Files:
        sql/test/pg_regress/Tests/loadwisconsin.timeout
        sql/test/pg_regress/Tests/oid.stable.err.Windows.oid32
Removed Files:
        sql/test/pg_regress/Tests/oid.stable.err.oid32.Windows
Modified Files:
        gdk/gdk_join.c
        java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
        sql/backends/monet5/rel_bin.c
        sql/test/pg_regress/Tests/float8.sql
        sql/test/pg_regress/Tests/float8.stable.err.Windows
        sql/test/pg_regress/Tests/float8.stable.out
        sql/test/pg_regress/Tests/float8.stable.out.Windows
        sql/test/pg_regress/Tests/strings.stable.err
Branch: default
Log Message:

Merge with Jul2015 branch.


diffs (truncated from 492 to 300 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -560,7 +560,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                                /* (hi - lo) different OIDs in r2,
                                 * plus one for nil */
                                r2->tkey = hi - lo + 1 == cnt;
-                               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+                               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                                                  BATgetId(l), BATgetId(r),
                                                  BATgetId(r1), BATcount(r1),
                                                  r1->tsorted ? "-sorted" : "",
@@ -580,7 +580,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                        r2->T->shift = 0;
                        BATsetcount(r2, hi - lo);
                        BATseqbase(BATmirror(r2), r->hseqbase + lo - 
r->tseqbase);
-                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                                          BATgetId(l), BATgetId(r),
                                          BATgetId(r1), BATcount(r1),
                                          r1->tsorted ? "-sorted" : "",
@@ -655,7 +655,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                r1->T->nil = 0;
                r1->T->nonil = 1;
                r1->tkey = 1;
-               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                                  BATgetId(l), BATgetId(r),
                                  BATgetId(r1), BATcount(r1),
                                  r1->tsorted ? "-sorted" : "",
@@ -737,7 +737,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                        r2->trevsorted = l->trevsorted || BATcount(r2) <= 1;
                        r2->tkey = (l->tkey & 1) || BATcount(r2) <= 1;
                        r2->tdense = 0;
-                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                                          BATgetId(l), BATgetId(r),
                                          BATgetId(r1), BATcount(r1),
                                          r1->tsorted ? "-sorted" : "",
@@ -808,7 +808,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                r2->tdense = 0;
                r2->tseqbase = oid_nil;
        }
-       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                          BATgetId(l), BATgetId(r),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
@@ -1717,7 +1717,7 @@ mergejoin(BAT *r1, BAT *r2, BAT *l, BAT 
                if (r2->tdense)
                        r2->tseqbase = ((oid *) r2->T->heap.base)[r2->batFirst];
        }
-       ALGODEBUG fprintf(stderr, 
"#mergejoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+       ALGODEBUG fprintf(stderr, 
"#mergejoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                  BATgetId(l), BATgetId(r),
                  BATgetId(r1), BATcount(r1),
                  r1->tsorted ? "-sorted" : "",
@@ -2127,7 +2127,7 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
                if (r2->tdense)
                        r2->tseqbase = ((oid *) r2->T->heap.base)[r2->batFirst];
        }
-       ALGODEBUG fprintf(stderr, 
"#hashjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+       ALGODEBUG fprintf(stderr, 
"#hashjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                  BATgetId(l), BATgetId(r),
                  BATgetId(r1), BATcount(r1),
                  r1->tsorted ? "-sorted" : "",
@@ -2359,7 +2359,7 @@ thetajoin(BAT *r1, BAT *r2, BAT *l, BAT 
                if (r2->tdense)
                        r2->tseqbase = ((oid *) r2->T->heap.base)[r2->batFirst];
        }
-       ALGODEBUG fprintf(stderr, 
"#thetajoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+       ALGODEBUG fprintf(stderr, 
"#thetajoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                  BATgetId(l), BATgetId(r),
                  BATgetId(r1), BATcount(r1),
                  r1->tsorted ? "-sorted" : "",
@@ -2762,7 +2762,7 @@ bandjoin(BAT *r1, BAT *r2, BAT *l, BAT *
                if (r2->tdense)
                        r2->tseqbase = ((oid *) r2->T->heap.base)[r2->batFirst];
        }
-       ALGODEBUG fprintf(stderr, 
"#bandjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s\n",
+       ALGODEBUG fprintf(stderr, 
"#bandjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
                  BATgetId(l), BATgetId(r),
                  BATgetId(r1), BATcount(r1),
                  r1->tsorted ? "-sorted" : "",
diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java 
b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -1681,15 +1681,13 @@ public class MonetDatabaseMetaData exten
                String types[]
        ) throws SQLException
        {
-               String select;
-               String orderby;
                String cat = getEnv("gdk_dbname");
                // as of Jul2015 release the sys.tables.type values (0 through 
6) is extended with new values 10, 11, 20, and 30 (for system and temp 
tables/views).
                // for correct behavior we need to know if the server is using 
the old (pre Jul2015) or new sys.tables.type values
                boolean preJul2015 = 
("11.19.15".compareTo(getDatabaseProductVersion()) >= 0);
                /* for debug: System.out.println("getDatabaseProductVersion() 
is " + getDatabaseProductVersion() + "  preJul2015 is " + preJul2015); */
 
-               select =
+               String query =
                        "SELECT * FROM ( " +
                        "SELECT '" + cat + "' AS \"TABLE_CAT\", 
\"schemas\".\"name\" AS \"TABLE_SCHEM\", \"tables\".\"name\" AS \"TABLE_NAME\", 
" +
                                "CASE WHEN \"tables\".\"system\" = true AND 
\"tables\".\"type\" = " + (preJul2015 ? "0" : "10") + " AND 
\"tables\".\"temporary\" = 0 THEN 'SYSTEM TABLE' " +
@@ -1706,22 +1704,22 @@ public class MonetDatabaseMetaData exten
                        ") AS \"tables\" WHERE 1 = 1 ";
 
                if (tableNamePattern != null) {
-                       select += "AND LOWER(\"TABLE_NAME\") LIKE '" + 
escapeQuotes(tableNamePattern).toLowerCase() + "' ";
+                       query += "AND \"TABLE_NAME\" ILIKE '" + 
escapeQuotes(tableNamePattern) + "' ";
                }
                if (schemaPattern != null) {
-                       select += "AND LOWER(\"TABLE_SCHEM\") LIKE '" + 
escapeQuotes(schemaPattern).toLowerCase() + "' ";
+                       query += "AND \"TABLE_SCHEM\" ILIKE '" + 
escapeQuotes(schemaPattern) + "' ";
                }
                if (types != null) {
-                       select += "AND (";
+                       query += "AND (";
                        for (int i = 0; i < types.length; i++) {
-                               select += (i == 0 ? "" : " OR ") + 
"LOWER(\"TABLE_TYPE\") LIKE '" + escapeQuotes(types[i]).toLowerCase() + "'";
+                               query += (i == 0 ? "" : " OR ") + 
"\"TABLE_TYPE\" ILIKE '" + escapeQuotes(types[i]) + "'";
                        }
-                       select += ") ";
+                       query += ") ";
                }
 
-               orderby = "ORDER BY \"TABLE_TYPE\", \"TABLE_SCHEM\", 
\"TABLE_NAME\" ";
-
-               return getStmt().executeQuery(select + orderby);
+               query += "ORDER BY \"TABLE_TYPE\", \"TABLE_SCHEM\", 
\"TABLE_NAME\"";
+
+               return getStmt().executeQuery(query);
        }
 
        /**
@@ -1757,9 +1755,9 @@ public class MonetDatabaseMetaData exten
                        "FROM \"sys\".\"schemas\" " +
                        "WHERE 1 = 1 ";
                if (catalog != null)
-                       query += "AND LOWER('" + cat + "') LIKE '" + 
escapeQuotes(catalog).toLowerCase() + "' ";
+                       query += "AND '" + cat + "' ILIKE '" + 
escapeQuotes(catalog) + "' ";
                if (schemaPattern != null)
-                       query += "AND LOWER(\"name\") LIKE '" + 
escapeQuotes(schemaPattern).toLowerCase() + "' ";
+                       query += "AND \"name\" ILIKE '" + 
escapeQuotes(schemaPattern) + "' ";
                query += "ORDER BY \"TABLE_SCHEM\"";
 
                return getStmt().executeQuery(query);
@@ -1942,13 +1940,13 @@ public class MonetDatabaseMetaData exten
                                        "AND \"tables\".\"schema_id\" = 
\"schemas\".\"id\" ";
 
                if (schemaPattern != null) {
-                       query += "AND LOWER(\"schemas\".\"name\") LIKE '" + 
escapeQuotes(schemaPattern).toLowerCase() + "' ";
+                       query += "AND \"schemas\".\"name\" ILIKE '" + 
escapeQuotes(schemaPattern) + "' ";
                }
                if (tableNamePattern != null) {
-                       query += "AND LOWER(\"tables\".\"name\") LIKE '" + 
escapeQuotes(tableNamePattern).toLowerCase() + "' ";
+                       query += "AND \"tables\".\"name\" ILIKE '" + 
escapeQuotes(tableNamePattern) + "' ";
                }
                if (columnNamePattern != null) {
-                       query += "AND LOWER(\"columns\".\"name\") LIKE '" + 
escapeQuotes(columnNamePattern).toLowerCase() + "' ";
+                       query += "AND \"columns\".\"name\" ILIKE '" + 
escapeQuotes(columnNamePattern) + "' ";
                }
 
                query += "ORDER BY \"TABLE_SCHEM\", \"TABLE_NAME\", 
\"ORDINAL_POSITION\"";
@@ -2026,13 +2024,13 @@ public class MonetDatabaseMetaData exten
                        "AND \"privileges\".\"grantor\" = \"grantors\".\"id\" ";
                
                if (schemaPattern != null) {
-                       query += "AND LOWER(\"schemas\".\"name\") LIKE '" + 
escapeQuotes(schemaPattern).toLowerCase() + "' ";
+                       query += "AND \"schemas\".\"name\" ILIKE '" + 
escapeQuotes(schemaPattern) + "' ";
                }
                if (tableNamePattern != null) {
-                       query += "AND LOWER(\"tables\".\"name\") LIKE '" + 
escapeQuotes(tableNamePattern).toLowerCase() + "' ";
+                       query += "AND \"tables\".\"name\" ILIKE '" + 
escapeQuotes(tableNamePattern) + "' ";
                }
                if (columnNamePattern != null) {
-                       query += "AND LOWER(\"columns\".\"name\") LIKE '" + 
escapeQuotes(columnNamePattern).toLowerCase() + "' ";
+                       query += "AND \"columns\".\"name\" ILIKE '" + 
escapeQuotes(columnNamePattern) + "' ";
                }
 
                query += "ORDER BY \"COLUMN_NAME\", \"PRIVILEGE\"";
@@ -2106,10 +2104,10 @@ public class MonetDatabaseMetaData exten
                        "AND \"privileges\".\"grantor\" = \"grantors\".\"id\" ";
                
                if (schemaPattern != null) {
-                       query += "AND LOWER(\"schemas\".\"name\") LIKE '" + 
escapeQuotes(schemaPattern).toLowerCase() + "' ";
+                       query += "AND \"schemas\".\"name\" ILIKE '" + 
escapeQuotes(schemaPattern) + "' ";
                }
                if (tableNamePattern != null) {
-                       query += "AND LOWER(\"tables\".\"name\") LIKE '" + 
escapeQuotes(tableNamePattern).toLowerCase() + "' ";
+                       query += "AND \"tables\".\"name\" ILIKE '" + 
escapeQuotes(tableNamePattern) + "' ";
                }
 
                query += "ORDER BY \"TABLE_SCHEM\", \"TABLE_NAME\", 
\"PRIVILEGE\"";
@@ -2181,16 +2179,10 @@ public class MonetDatabaseMetaData exten
                                        "AND \"keys\".\"type\" IN (0, 1) ";     
// only primary keys (type = 0) and unique keys (type = 1), not fkeys (type = 2)
 
                if (schema != null) {
-                       if (schema.contains("%") || schema.contains("_"))
-                               query += "AND LOWER(\"schemas\".\"name\") LIKE 
'" + escapeQuotes(schema).toLowerCase() + "' ";
-                       else
-                               query += "AND \"schemas\".\"name\" = '" + 
escapeQuotes(schema) + "' ";
+                       query += "AND \"schemas\".\"name\" ILIKE '" + 
escapeQuotes(schema) + "' ";
                }
                if (table != null) {
-                       if (table.contains("%") || table.contains("_"))
-                               query += "AND LOWER(\"tables\".\"name\") LIKE 
'" + escapeQuotes(table).toLowerCase() + "' ";
-                       else
-                               query += "AND \"tables\".\"name\" = '" + 
escapeQuotes(table) + "' ";
+                       query += "AND \"tables\".\"name\" ILIKE '" + 
escapeQuotes(table) + "' ";
                }
                if (!nullable) {
                        query += "AND \"columns\".\"null\" = false ";
@@ -2302,10 +2294,10 @@ public class MonetDatabaseMetaData exten
                        "AND \"keys\".\"type\" = 0 ";
 
                if (schema != null) {
-                       query += "AND LOWER(\"schemas\".\"name\") LIKE '" + 
escapeQuotes(schema).toLowerCase() + "' ";
+                       query += "AND \"schemas\".\"name\" ILIKE '" + 
escapeQuotes(schema) + "' ";
                }
                if (table != null) {
-                       query += "AND LOWER(\"tables\".\"name\") LIKE '" + 
escapeQuotes(table).toLowerCase() + "' ";
+                       query += "AND \"tables\".\"name\" ILIKE '" + 
escapeQuotes(table) + "' ";
                }
 
                query += "ORDER BY \"COLUMN_NAME\"";
@@ -2398,10 +2390,10 @@ public class MonetDatabaseMetaData exten
                String query = keyQuery(cat);
 
                if (schema != null) {
-                       query += "AND LOWER(\"fkschema\".\"name\") LIKE '" + 
escapeQuotes(schema).toLowerCase() + "' ";
+                       query += "AND \"fkschema\".\"name\" ILIKE '" + 
escapeQuotes(schema) + "' ";
                }
                if (table != null) {
-                       query += "AND LOWER(\"fktable\".\"name\") LIKE '" + 
escapeQuotes(table).toLowerCase() + "' ";
+                       query += "AND \"fktable\".\"name\" ILIKE '" + 
escapeQuotes(table) + "' ";
                }
 
                query += "ORDER BY \"PKTABLE_CAT\", \"PKTABLE_SCHEM\", 
\"PKTABLE_NAME\", \"PK_NAME\", \"KEY_SEQ\"";
@@ -2469,10 +2461,10 @@ public class MonetDatabaseMetaData exten
                String query = keyQuery(cat);
 
                if (schema != null) {
-                       query += "AND LOWER(\"pkschema\".\"name\") LIKE '" + 
escapeQuotes(schema).toLowerCase() + "' ";
+                       query += "AND \"pkschema\".\"name\" ILIKE '" + 
escapeQuotes(schema) + "' ";
                }
                if (table != null) {
-                       query += "AND LOWER(\"pktable\".\"name\") LIKE '" + 
escapeQuotes(table).toLowerCase() + "' ";
+                       query += "AND \"pktable\".\"name\" ILIKE '" + 
escapeQuotes(table) + "' ";
                }
 
                query += "ORDER BY \"FKTABLE_CAT\", \"FKTABLE_SCHEM\", 
\"FKTABLE_NAME\", \"FK_NAME\", \"KEY_SEQ\"";
@@ -2555,16 +2547,16 @@ public class MonetDatabaseMetaData exten
                String query = keyQuery(cat);
 
                if (pschema != null) {
-                       query += "AND LOWER(\"pkschema\".\"name\") LIKE '" + 
escapeQuotes(pschema).toLowerCase() + "' ";
+                       query += "AND \"pkschema\".\"name\" ILIKE '" + 
escapeQuotes(pschema) + "' ";
                }
                if (ptable != null) {
-                       query += "AND LOWER(\"pktable\".\"name\") LIKE '" + 
escapeQuotes(ptable).toLowerCase() + "' ";
+                       query += "AND \"pktable\".\"name\" ILIKE '" + 
escapeQuotes(ptable) + "' ";
                }
                if (fschema != null) {
-                       query += "AND LOWER(\"fkschema\".\"name\") LIKE '" + 
escapeQuotes(fschema).toLowerCase() + "' ";
+                       query += "AND \"fkschema\".\"name\" ILIKE '" + 
escapeQuotes(fschema) + "' ";
                }
                if (ftable != null) {
-                       query += "AND LOWER(\"fktable\".\"name\") LIKE '" + 
escapeQuotes(ftable).toLowerCase() + "' ";
+                       query += "AND \"fktable\".\"name\" ILIKE '" + 
escapeQuotes(ftable) + "' ";
                }
 
                query += "ORDER BY \"FKTABLE_CAT\", \"FKTABLE_SCHEM\", 
\"FKTABLE_NAME\", \"FK_NAME\", \"KEY_SEQ\"";
@@ -2755,10 +2747,10 @@ public class MonetDatabaseMetaData exten
                                "WHERE 1 = 1 ";
 
                if (schema != null) {
-                       query += "AND LOWER(\"TABLE_SCHEM\") LIKE '" + 
escapeQuotes(schema).toLowerCase() + "' ";
+                       query += "AND \"TABLE_SCHEM\" ILIKE '" + 
escapeQuotes(schema) + "' ";
                }
                if (table != null) {
-                       query += "AND LOWER(\"TABLE_NAME\") LIKE '" + 
escapeQuotes(table).toLowerCase() + "' ";
+                       query += "AND \"TABLE_NAME\" ILIKE '" + 
escapeQuotes(table) + "' ";
                }
                if (unique) {
                        query += "AND \"NON_UNIQUE\" = false ";
@@ -3494,11 +3486,8 @@ public class MonetDatabaseMetaData exten
                        String functionNamePattern)
                throws SQLException
        {
-               String select;
-               String orderby;
                String cat = getEnv("gdk_dbname");
-
-               select =
+               String select =
                        "SELECT * FROM ( " +
                        "SELECT '" + cat + "' AS \"FUNCTION_CAT\", " +
                                "\"schemas\".\"name\" AS \"FUNCTION_SCHEM\", " +
@@ -3510,18 +3499,18 @@ public class MonetDatabaseMetaData exten
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to