Changeset: 83bfade6333e for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=83bfade6333e Modified Files: src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java Branch: default Log Message:
Optimise constructed SQL query for getFunctions(). diffs (20 lines): diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -3770,14 +3770,8 @@ public class MonetDatabaseMetaData "s.\"name\" AS \"FUNCTION_SCHEM\", " + "f.\"name\" AS \"FUNCTION_NAME\", ") .append(useCommentsTable ? "COALESCE(cm.\"remark\", cast(f.\"func\" as varchar(9999)))" : "cast(f.\"func\" as varchar(9999))").append(" AS \"REMARKS\", " + - "CASE f.\"type\"" + - " WHEN 1 THEN ").append(DatabaseMetaData.functionNoTable) - .append(" WHEN 2 THEN ").append(DatabaseMetaData.functionNoTable) - .append(" WHEN 3 THEN ").append(DatabaseMetaData.functionNoTable) - .append(" WHEN 4 THEN ").append(DatabaseMetaData.functionNoTable) - .append(" WHEN 5 THEN ").append(DatabaseMetaData.functionReturnsTable) - .append(" WHEN 6 THEN ").append(DatabaseMetaData.functionNoTable) - .append(" WHEN 7 THEN ").append(DatabaseMetaData.functionReturnsTable) + "CASE WHEN f.\"type\" IN (1,2,3,4,6) THEN ").append(DatabaseMetaData.functionNoTable) + .append(" WHEN f.\"type\" IN (5,7) THEN ").append(DatabaseMetaData.functionReturnsTable) .append(" ELSE ").append(DatabaseMetaData.functionResultUnknown).append(" END AS \"FUNCTION_TYPE\", " + // only the id value uniquely identifies a function. Include it to be able to differentiate between multiple overloaded functions with the same name "cast(f.\"id\" as varchar(10)) AS \"SPECIFIC_NAME\" " + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list