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