You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by ar...@apache.org on 2016/01/08 18:06:02 UTC

[1/6] incubator-trafodion git commit: support procedures

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 3676fee0c -> 9f8afad66


support procedures


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/a21818ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/a21818ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/a21818ab

Branch: refs/heads/master
Commit: a21818abb652c911055b4bf1eb799e806c079e2e
Parents: fc9651f
Author: Kevin Xu <ka...@esgyn.cn>
Authored: Mon Jan 4 13:06:39 2016 +0800
Committer: Kevin Xu <ka...@esgyn.cn>
Committed: Mon Jan 4 13:06:39 2016 +0800

----------------------------------------------------------------------
 core/conn/jdbc_type2/native/SrvrCommon.cpp | 85 +++++++++++++++++++++++++
 core/conn/jdbc_type4/.gitignore            |  1 +
 2 files changed, 86 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a21818ab/core/conn/jdbc_type2/native/SrvrCommon.cpp
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.cpp b/core/conn/jdbc_type2/native/SrvrCommon.cpp
index 11a0dc5..32cb54a 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.cpp
+++ b/core/conn/jdbc_type2/native/SrvrCommon.cpp
@@ -1634,6 +1634,91 @@ short do_ExecSMD(
                         tableParam[0], inputParam[0], inputParam[1],
                         inputParam[2], inputParam[3]);
                     break;
+                case SQL_API_SQLPROCEDURES:
+                    if ((!checkIfWildCard(catalogNm, catalogNmNoEsc) || !checkIfWildCard(schemaNm, schemaNmNoEsc) || !checkIfWildCard(
+tableNm, tableNmNoEsc)) && !metadataId)
+                    {
+                        executeException->exception_nr = odbc_SQLSvc_GetSQLCatalogs_ParamError_exn_;
+                        executeException->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_WILDCARD_NOT_SUPPORTED;
+                        FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
+                    }
+
+                    if (strcmp(catalogNm,"") == 0)
+                        strcpy(tableName1,SEABASE_MD_CATALOG);
+                    else
+                        strcpy(tableName1, catalogNm);
+                    tableParam[0] = tableName1;
+                    convertWildcard(metadataId, TRUE, schemaNm, expSchemaNm);
+                    convertWildcardNoEsc(metadataId, TRUE, schemaNm, schemaNmNoEsc);
+                    convertWildcard(metadataId, TRUE, tableNm, expTableNm);
+                    convertWildcardNoEsc(metadataId, TRUE, tableNm, tableNmNoEsc);
+                    inputParam[0] = schemaNmNoEsc;
+                    inputParam[1] = expSchemaNm;
+                    inputParam[2] = tableNmNoEsc;
+                    inputParam[3] = expTableNm;
+                    inputParam[4] = NULL;
+
+                    snprintf((char *)sqlString->dataValue._buffer, totalSize,
+                        "select obj.CATALOG_NAME PROCEDURE_CAT, obj.SCHEMA_NAME PROCEDURE_SCHEM, "
+			                        "obj.OBJECT_NAME PROCEDURE_NAME, cast(NULL as varchar(10)) R1,cast(NULL as varchar(10)) R2,"
+                        "cast(NULL as varchar(10)) R3, cast(NULL as varchar(10)) REMARKS, cast(0 as smallint) PROCEDURE_TYPE, "
+                        "obj.OBJECT_NAME SPECIFIC_NAME "
+                        "from TRAFODION.\"_MD_\".OBJECTS obj "
+                        "where "
+                        " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
+                        " and obj.OBJECT_TYPE='UR' "
+                        " FOR READ UNCOMMITTED ACCESS;",
+                        inputParam[0], inputParam[1]);
+                    break;
+                case SQL_API_SQLPROCEDURECOLUMNS:
+                    if ((!checkIfWildCard(catalogNm, catalogNmNoEsc) || !checkIfWildCard(schemaNm, schemaNmNoEsc) || !checkIfWildCard(
+tableNm, tableNmNoEsc)) && !metadataId)
+                    {
+                        executeException->exception_nr = odbc_SQLSvc_GetSQLCatalogs_ParamError_exn_;
+                        executeException->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_WILDCARD_NOT_SUPPORTED;
+                        FUNCTION_RETURN_NUMERIC(EXECUTE_EXCEPTION,("EXECUTE_EXCEPTION"));
+                    }
+
+                    if (strcmp(catalogNm,"") == 0)
+                        strcpy(tableName1,SEABASE_MD_CATALOG);
+                    else
+                        strcpy(tableName1, catalogNm);
+                    tableParam[0] = tableName1;
+                    convertWildcard(metadataId, TRUE, schemaNm, expSchemaNm);
+                    convertWildcardNoEsc(metadataId, TRUE, schemaNm, schemaNmNoEsc);
+                    convertWildcard(metadataId, TRUE, tableNm, expTableNm);
+		                        convertWildcardNoEsc(metadataId, TRUE, tableNm, tableNmNoEsc);
+                    convertWildcard(metadataId, TRUE, columnNm, expColumnNm);
+                    convertWildcardNoEsc(metadataId, TRUE, columnNm, columnNmNoEsc);
+                    inputParam[0] = schemaNmNoEsc;
+                    inputParam[1] = expSchemaNm;
+                    inputParam[2] = tableNmNoEsc;
+                    inputParam[3] = expTableNm;
+                    inputParam[4] = columnNmNoEsc;
+                    inputParam[5] = expColumnNm;
+                    inputParam[6] = NULL;
+
+                    snprintf((char *)sqlString->dataValue._buffer, totalSize,
+                            "select obj.CATALOG_NAME PROCEDURE_CAT, obj.SCHEMA_NAME PROCEDURE_SCHEM,"
+                            "obj.OBJECT_NAME PROCEDURE_NAME, cols.COLUMN_NAME COLUMN_NAME, "
+                            "cast((case when cols.DIRECTION='I' then 1 when cols.DIRECTION='N' then 2 when cols.DIRECTION='O' then 3 e
+lse 0 end) as smallint) COLUMN_TYPE, "
+                            "cols.FS_DATA_TYPE DATA_TYPE, cols.SQL_DATA_TYPE TYPE_NAME, "
+                            "cols.COLUMN_PRECISION \"PRECISION\", cols.COLUMN_SIZE LENGTH, cols.COLUMN_SCALE SCALE, "
+                            "cast(1 as smallint) RADIX, cols.NULLABLE NULLABLE, cast(NULL as varchar(10)) REMARKS, "
+                            "cols.DEFAULT_VALUE COLUMN_DEF, cols.FS_DATA_TYPE SQL_DATA_TYPE, cast(0 as smallint) SQL_DATETIME_SUB, "
+                            "cols.COLUMN_SIZE CHAR_OCTET_LENGTH, cols.COLUMN_NUMBER ORDINAL_POSITION, "
+                            "cols.NULLABLE IS_NULLABLE, cols.COLUMN_NAME SPECIFIC_NAME"
+                            " from TRAFODION.\"_MD_\".OBJECTS obj "
+                            " left join TRAFODION.\"_MD_\".COLUMNS cols on obj.OBJECT_UID=cols.OBJECT_UID "
+			                                " left join TRAFODION.\"_MD_\".KEYS keys on cols.COLUMN_NAME=keys.COLUMN_NAME and cols.OBJECT_UID=keys.OBJ
+ECT_UID"
+                            " where "
+                            " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
+                            " and (obj.OBJECT_NAME = '%s' or trim(obj.OBJECT_NAME) LIKE '%s' ESCAPE '\\')"
+                            " and (cols.COLUMN_NAME = '%s' or trim(cols.COLUMN_NAME) LIKE '%s' ESCAPE '\\');"
+                        ,inputParam[0], inputParam[1], inputParam[2], inputParam[3], inputParam[4], inputParam[5]);
+                    break;
             }
     if (pSrvrStmt == NULL)
     {

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a21818ab/core/conn/jdbc_type4/.gitignore
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type4/.gitignore b/core/conn/jdbc_type4/.gitignore
index 99f4389..9a66973 100644
--- a/core/conn/jdbc_type4/.gitignore
+++ b/core/conn/jdbc_type4/.gitignore
@@ -1,2 +1,3 @@
 buildId
 temp/
+/target/


[4/6] incubator-trafodion git commit: add filter for procedure name

Posted by ar...@apache.org.
add filter for procedure name


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/4b1b60d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/4b1b60d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/4b1b60d1

Branch: refs/heads/master
Commit: 4b1b60d12d386fe4b8cd9291cc80c006c524353a
Parents: 03b93bf
Author: Kevin Xu <ka...@esgyn.cn>
Authored: Wed Jan 6 18:04:53 2016 +0800
Committer: Kevin Xu <ka...@esgyn.cn>
Committed: Wed Jan 6 18:04:53 2016 +0800

----------------------------------------------------------------------
 core/conn/jdbc_type2/native/SrvrCommon.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/4b1b60d1/core/conn/jdbc_type2/native/SrvrCommon.cpp
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.cpp b/core/conn/jdbc_type2/native/SrvrCommon.cpp
index 33125f9..8fe4e66 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.cpp
+++ b/core/conn/jdbc_type2/native/SrvrCommon.cpp
@@ -1666,10 +1666,11 @@ tableNm, tableNmNoEsc)) && !metadataId)
                         " from TRAFODION.\"_MD_\".OBJECTS obj "
                         " where "
                         " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
+			" and (obj.OBJECT_NAME = '%s' or trim(obj.OBJECT_NAME) LIKE '%s' ESCAPE '\\')"
                         " and obj.OBJECT_TYPE='UR' "
                         " order by obj.OBJECT_NAME"
                         " FOR READ UNCOMMITTED ACCESS;",
-                        inputParam[0], inputParam[1]);
+                        inputParam[0], inputParam[1], inputParam[2], inputParam[3]);
                     break;
                 case SQL_API_SQLPROCEDURECOLUMNS:
                     if ((!checkIfWildCard(catalogNm, catalogNmNoEsc) || !checkIfWildCard(schemaNm, schemaNmNoEsc) || !checkIfWildCard(


[6/6] incubator-trafodion git commit: Merge [TRAFODION-1727] PR-244 Fixes for DatabaseMetaData.getProcedures and getProcedureColumns

Posted by ar...@apache.org.
Merge [TRAFODION-1727] PR-244 Fixes for DatabaseMetaData.getProcedures and getProcedureColumns


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/9f8afad6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/9f8afad6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/9f8afad6

Branch: refs/heads/master
Commit: 9f8afad66f6cb5152069e25d19d28a042bb5d23c
Parents: 3676fee 441769d
Author: Arvind Narain <ar...@apache.org>
Authored: Fri Jan 8 17:04:25 2016 +0000
Committer: Arvind Narain <ar...@apache.org>
Committed: Fri Jan 8 17:04:25 2016 +0000

----------------------------------------------------------------------
 core/conn/jdbc_type2/native/SrvrCommon.cpp | 90 +++++++++++++++++++++++++
 core/conn/jdbc_type4/.gitignore            |  1 +
 2 files changed, 91 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9f8afad6/core/conn/jdbc_type2/native/SrvrCommon.cpp
----------------------------------------------------------------------


[2/6] incubator-trafodion git commit: Add ordering

Posted by ar...@apache.org.
Add ordering


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/5c31da72
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/5c31da72
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/5c31da72

Branch: refs/heads/master
Commit: 5c31da726d0c112dd1bca4e00595c048f21b7c4d
Parents: a21818a
Author: Kevin Xu <ka...@esgyn.cn>
Authored: Mon Jan 4 13:34:21 2016 +0800
Committer: Kevin Xu <ka...@esgyn.cn>
Committed: Mon Jan 4 13:34:21 2016 +0800

----------------------------------------------------------------------
 core/conn/jdbc_type2/native/SrvrCommon.cpp | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/5c31da72/core/conn/jdbc_type2/native/SrvrCommon.cpp
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.cpp b/core/conn/jdbc_type2/native/SrvrCommon.cpp
index 32cb54a..70e35e5 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.cpp
+++ b/core/conn/jdbc_type2/native/SrvrCommon.cpp
@@ -1660,13 +1660,14 @@ tableNm, tableNmNoEsc)) && !metadataId)
 
                     snprintf((char *)sqlString->dataValue._buffer, totalSize,
                         "select obj.CATALOG_NAME PROCEDURE_CAT, obj.SCHEMA_NAME PROCEDURE_SCHEM, "
-			                        "obj.OBJECT_NAME PROCEDURE_NAME, cast(NULL as varchar(10)) R1,cast(NULL as varchar(10)) R2,"
+			"obj.OBJECT_NAME PROCEDURE_NAME, cast(NULL as varchar(10)) R1,cast(NULL as varchar(10)) R2,"
                         "cast(NULL as varchar(10)) R3, cast(NULL as varchar(10)) REMARKS, cast(0 as smallint) PROCEDURE_TYPE, "
                         "obj.OBJECT_NAME SPECIFIC_NAME "
-                        "from TRAFODION.\"_MD_\".OBJECTS obj "
-                        "where "
+                        " from TRAFODION.\"_MD_\".OBJECTS obj "
+                        " where "
                         " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
                         " and obj.OBJECT_TYPE='UR' "
+                        " order by obj.OBJECT_NAME"
                         " FOR READ UNCOMMITTED ACCESS;",
                         inputParam[0], inputParam[1]);
                     break;
@@ -1687,7 +1688,7 @@ tableNm, tableNmNoEsc)) && !metadataId)
                     convertWildcard(metadataId, TRUE, schemaNm, expSchemaNm);
                     convertWildcardNoEsc(metadataId, TRUE, schemaNm, schemaNmNoEsc);
                     convertWildcard(metadataId, TRUE, tableNm, expTableNm);
-		                        convertWildcardNoEsc(metadataId, TRUE, tableNm, tableNmNoEsc);
+		            convertWildcardNoEsc(metadataId, TRUE, tableNm, tableNmNoEsc);
                     convertWildcard(metadataId, TRUE, columnNm, expColumnNm);
                     convertWildcardNoEsc(metadataId, TRUE, columnNm, columnNmNoEsc);
                     inputParam[0] = schemaNmNoEsc;
@@ -1711,12 +1712,14 @@ lse 0 end) as smallint) COLUMN_TYPE, "
                             "cols.NULLABLE IS_NULLABLE, cols.COLUMN_NAME SPECIFIC_NAME"
                             " from TRAFODION.\"_MD_\".OBJECTS obj "
                             " left join TRAFODION.\"_MD_\".COLUMNS cols on obj.OBJECT_UID=cols.OBJECT_UID "
-			                                " left join TRAFODION.\"_MD_\".KEYS keys on cols.COLUMN_NAME=keys.COLUMN_NAME and cols.OBJECT_UID=keys.OBJ
+			    " left join TRAFODION.\"_MD_\".KEYS keys on cols.COLUMN_NAME=keys.COLUMN_NAME and cols.OBJECT_UID=keys.OBJ
 ECT_UID"
                             " where "
                             " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
                             " and (obj.OBJECT_NAME = '%s' or trim(obj.OBJECT_NAME) LIKE '%s' ESCAPE '\\')"
-                            " and (cols.COLUMN_NAME = '%s' or trim(cols.COLUMN_NAME) LIKE '%s' ESCAPE '\\');"
+                            " and (cols.COLUMN_NAME = '%s' or trim(cols.COLUMN_NAME) LIKE '%s' ESCAPE '\\')"
+                            " order by cols.COLUMN_NUMBER"
+                            " FOR READ UNCOMMITTED ACCESS;"
                         ,inputParam[0], inputParam[1], inputParam[2], inputParam[3], inputParam[4], inputParam[5]);
                     break;
             }


[3/6] incubator-trafodion git commit: remove left join keys

Posted by ar...@apache.org.
remove left join keys


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/03b93bfb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/03b93bfb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/03b93bfb

Branch: refs/heads/master
Commit: 03b93bfba92d0360990c40c9410e8f0d29dbf0e2
Parents: 5c31da7
Author: Kevin Xu <ka...@esgyn.cn>
Authored: Tue Jan 5 09:20:46 2016 +0800
Committer: Kevin Xu <ka...@esgyn.cn>
Committed: Tue Jan 5 09:20:46 2016 +0800

----------------------------------------------------------------------
 core/conn/jdbc_type2/native/SrvrCommon.cpp | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/03b93bfb/core/conn/jdbc_type2/native/SrvrCommon.cpp
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.cpp b/core/conn/jdbc_type2/native/SrvrCommon.cpp
index 70e35e5..33125f9 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.cpp
+++ b/core/conn/jdbc_type2/native/SrvrCommon.cpp
@@ -1702,8 +1702,7 @@ tableNm, tableNmNoEsc)) && !metadataId)
                     snprintf((char *)sqlString->dataValue._buffer, totalSize,
                             "select obj.CATALOG_NAME PROCEDURE_CAT, obj.SCHEMA_NAME PROCEDURE_SCHEM,"
                             "obj.OBJECT_NAME PROCEDURE_NAME, cols.COLUMN_NAME COLUMN_NAME, "
-                            "cast((case when cols.DIRECTION='I' then 1 when cols.DIRECTION='N' then 2 when cols.DIRECTION='O' then 3 e
-lse 0 end) as smallint) COLUMN_TYPE, "
+                            "cast((case when cols.DIRECTION='I' then 1 when cols.DIRECTION='N' then 2 when cols.DIRECTION='O' then 3 else 0 end) as smallint) COLUMN_TYPE, "
                             "cols.FS_DATA_TYPE DATA_TYPE, cols.SQL_DATA_TYPE TYPE_NAME, "
                             "cols.COLUMN_PRECISION \"PRECISION\", cols.COLUMN_SIZE LENGTH, cols.COLUMN_SCALE SCALE, "
                             "cast(1 as smallint) RADIX, cols.NULLABLE NULLABLE, cast(NULL as varchar(10)) REMARKS, "
@@ -1712,8 +1711,6 @@ lse 0 end) as smallint) COLUMN_TYPE, "
                             "cols.NULLABLE IS_NULLABLE, cols.COLUMN_NAME SPECIFIC_NAME"
                             " from TRAFODION.\"_MD_\".OBJECTS obj "
                             " left join TRAFODION.\"_MD_\".COLUMNS cols on obj.OBJECT_UID=cols.OBJECT_UID "
-			    " left join TRAFODION.\"_MD_\".KEYS keys on cols.COLUMN_NAME=keys.COLUMN_NAME and cols.OBJECT_UID=keys.OBJ
-ECT_UID"
                             " where "
                             " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
                             " and (obj.OBJECT_NAME = '%s' or trim(obj.OBJECT_NAME) LIKE '%s' ESCAPE '\\')"


[5/6] incubator-trafodion git commit: redefine PRODUCEDURE_TYPE

Posted by ar...@apache.org.
redefine PRODUCEDURE_TYPE


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/441769d8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/441769d8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/441769d8

Branch: refs/heads/master
Commit: 441769d8bb2c1bc812e84ee7d9d8e4a5c8789a92
Parents: 4b1b60d
Author: Kevin Xu <ka...@esgyn.cn>
Authored: Fri Jan 8 15:21:15 2016 +0800
Committer: Kevin Xu <ka...@esgyn.cn>
Committed: Fri Jan 8 15:21:15 2016 +0800

----------------------------------------------------------------------
 core/conn/jdbc_type2/native/SrvrCommon.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/441769d8/core/conn/jdbc_type2/native/SrvrCommon.cpp
----------------------------------------------------------------------
diff --git a/core/conn/jdbc_type2/native/SrvrCommon.cpp b/core/conn/jdbc_type2/native/SrvrCommon.cpp
index 8fe4e66..b12c949 100644
--- a/core/conn/jdbc_type2/native/SrvrCommon.cpp
+++ b/core/conn/jdbc_type2/native/SrvrCommon.cpp
@@ -1661,9 +1661,13 @@ tableNm, tableNmNoEsc)) && !metadataId)
                     snprintf((char *)sqlString->dataValue._buffer, totalSize,
                         "select obj.CATALOG_NAME PROCEDURE_CAT, obj.SCHEMA_NAME PROCEDURE_SCHEM, "
 			"obj.OBJECT_NAME PROCEDURE_NAME, cast(NULL as varchar(10)) R1,cast(NULL as varchar(10)) R2,"
-                        "cast(NULL as varchar(10)) R3, cast(NULL as varchar(10)) REMARKS, cast(0 as smallint) PROCEDURE_TYPE, "
+                        "cast(NULL as varchar(10)) R3, cast(NULL as varchar(10)) REMARKS,"
+			"cast(case when routines.UDR_TYPE = 'P' then 1"
+			" when routines.UDR_TYPE = 'F' or routines.UDR_TYPE = 'T'"
+			" then 2 else 0 end as smallint) PROCEDURE_TYPE, "
                         "obj.OBJECT_NAME SPECIFIC_NAME "
                         " from TRAFODION.\"_MD_\".OBJECTS obj "
+			" left join TRAFODION.\"_MD_\".ROUTINES routines on obj.OBJECT_UID = routines.UDR_UID"
                         " where "
                         " (obj.SCHEMA_NAME = '%s' or trim(obj.SCHEMA_NAME) LIKE '%s' ESCAPE '\\')"
 			" and (obj.OBJECT_NAME = '%s' or trim(obj.OBJECT_NAME) LIKE '%s' ESCAPE '\\')"