Changeset: a269aec2ab55 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/a269aec2ab55
Modified Files:
        ChangeLog
        src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
Branch: default
Log Message:

Corrected method DatabaseMetaData.getFunctionColumns() for result column 
COLUMN_TYPE. For functions that return a table, the returned output columns now 
return DatabaseMetaData.functionColumnResult as COLUMN_TYPE.


diffs (38 lines):

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 # ChangeLog file for monetdb-java
 # This file is updated with Maddlog
 
+* Thu Oct 15 2026 Martin van Dinther <[email protected]>
+- Corrected method DatabaseMetaData.getFunctionColumns() for result column
+  COLUMN_TYPE. For functions that return a table, the returned output
+  columns now return DatabaseMetaData.functionColumnResult as COLUMN_TYPE.
+
 * Wed Sep 16 2026 Joeri van Ruth <[email protected]>
 - switched build system to use Maven
 - The groupId in the Maven coordinates has changed from 'monetdb' to
diff --git a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java 
b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -1801,8 +1801,8 @@ public final class MonetDatabaseMetaData
                        "f.\"name\" AS \"PROCEDURE_NAME\", " +
                        "a.\"name\" AS \"COLUMN_NAME\", " +
                        "cast(CASE a.\"inout\"" +
-                               " WHEN 0 THEN (CASE a.\"number\" WHEN 0 THEN " 
+ DatabaseMetaData.procedureColumnReturn + " ELSE " + 
DatabaseMetaData.procedureColumnOut + " END)" +
                                " WHEN 1 THEN " + 
DatabaseMetaData.procedureColumnIn +
+                               " WHEN 0 THEN " + 
DatabaseMetaData.procedureColumnOut +
                                " ELSE " + 
DatabaseMetaData.procedureColumnUnknown + " END AS smallint) AS 
\"COLUMN_TYPE\", " +
                        
"cast(").append(MonetDriver.getSQLTypeMap("a.\"type\"")).append(" AS int) AS 
\"DATA_TYPE\", " +
                        "a.\"type\" AS \"TYPE_NAME\", " +
@@ -4096,8 +4096,8 @@ public final class MonetDatabaseMetaData
                        "f.\"name\" AS \"FUNCTION_NAME\", " +
                        "a.\"name\" AS \"COLUMN_NAME\", " +
                        "cast(CASE a.\"inout\"" +
-                               " WHEN 0 THEN (CASE a.\"number\" WHEN 0 THEN " 
+ DatabaseMetaData.functionReturn + " ELSE " + 
DatabaseMetaData.functionColumnOut + " END)" +
                                " WHEN 1 THEN " + 
DatabaseMetaData.functionColumnIn +
+                               " WHEN 0 THEN (CASE WHEN f.\"type\" IN (5,7) 
THEN " + DatabaseMetaData.functionColumnResult + " ELSE " + 
DatabaseMetaData.functionReturn + " END)" +
                                " ELSE " + 
DatabaseMetaData.functionColumnUnknown + " END AS smallint) AS \"COLUMN_TYPE\", 
" +
                        
"cast(").append(MonetDriver.getSQLTypeMap("a.\"type\"")).append(" AS int) AS 
\"DATA_TYPE\", " +
                        "a.\"type\" AS \"TYPE_NAME\", " +
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to