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

Reply via email to