123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: relmd
- (C) Copyright IBM Corp. 2008, 2015
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.YY
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- DB2 metadata extraction rules
- -->
- <relmd:vendorRules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:relmd="http://www.ibm.com/xmlns/prod/cognos/relmd/1/0" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/cognos/relmd/1/0 ../../webcontent/relmd/vendor/relmdVendorRules.xsd">
- <relmd:caseSensitivityRules relmd:storage="upper"/>
- <relmd:defaultCatalogSchemaQueryRules>
- <relmd:sql>SELECT DISTINCT '' catalogName, rtrim(current_schema) from sysibm.sysdummy1</relmd:sql>
- </relmd:defaultCatalogSchemaQueryRules>
- <relmd:tablesImportRules>
- <relmd:sql>SELECT '' CATALOG_NAME, RTRIM(A.TABSCHEMA) SCHEMA_NAME, A.TABNAME TABLE_NAME, TYPE TABLE_TYPE, A.REMARKS DESCRIPTION
- FROM SYSCAT.TABLES A WHERE A.TYPE IN ('T','S')
- ORDER BY SCHEMA_NAME, TABLE_NAME</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="A WHERE A.TYPE IN ('T','S')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:tablesImportRules>
- <relmd:viewsImportRules>
- <relmd:sql>SELECT '' CATALOG_NAME, RTRIM(A.TABSCHEMA) SCHEMA_NAME, A.TABNAME TABLE_NAME, TYPE TABLE_TYPE, A.REMARKS DESCRIPTION
- FROM SYSCAT.TABLES A WHERE A.TYPE IN ('V')
- ORDER BY SCHEMA_NAME, TABLE_NAME</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="A WHERE A.TYPE IN ('V')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:viewsImportRules>
- <relmd:columnsImportRules>
- <relmd:sql>SELECT '' CATALOG_NAME, RTRIM(A.TABSCHEMA) SCHEMA_NAME, A.TABNAME TABLE_NAME, A.COLNAME COLUMN_NAME, A.TYPENAME DATATYPE, A.LENGTH LENGTH, A.LENGTH PRECISION, A.SCALE SCALE, CASE WHEN A.NULLS = 'Y' THEN 'true' ELSE 'false' END NULLABLE_FLAG, A.DEFAULT DEFAULT_VALUE, '' collationSequence, A.REMARKS DESCRIPTION FROM SYSCAT.COLUMNS A ORDER BY SCHEMA_NAME, TABLE_NAME, A.COLNO</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="SYSCAT.COLUMNS A" relmd:insertLocation="after" relmd:insertPrefix="WHERE">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME" relmd:columnExpression="A.COLNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:columnsImportRules>
- <relmd:uniqueKeysImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.TABSCHEMA) parentSchema, A.TABNAME parentQueryObject, A.CONSTNAME keyName, B.COLNAME refColumnName, B.COLSEQ refColumnSequence, '' description
- FROM SYSCAT.TABCONST A, SYSCAT.KEYCOLUSE B
- WHERE A.TYPE IN ('P', 'U')
- AND A.TABSCHEMA=B.TABSCHEMA
- AND A.TABNAME=B.TABNAME
- AND A.CONSTNAME = B.CONSTNAME
- ORDER BY parentSchema, parentQueryObject, keyName, refColumnSequence</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="AND A.CONSTNAME = B.CONSTNAME" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:uniqueKeysImportRules>
- <relmd:foreignKeysImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(FKR.REFTABSCHEMA) parentSchema, FKR.TABNAME parentQueryObject, FKR.CONSTNAME foreignKeyName, FKRC.COLNAME exportedColumn, FKRC.COLSEQ columnSequence, '' importedCatalog, RTRIM(PKR.TABSCHEMA) importedSchema, PKR.REFTABNAME importedTable, FKR.REFKEYNAME importedUniqueKey, PKRC.COLNAME importedColumn, '' description
- FROM SYSCAT.REFERENCES FKR, SYSCAT.KEYCOLUSE FKRC, SYSCAT.REFERENCES PKR, SYSCAT.KEYCOLUSE PKRC
- WHERE FKR.TABSCHEMA = FKRC.TABSCHEMA AND FKR.TABNAME = FKRC.TABNAME AND FKR.CONSTNAME = FKRC.CONSTNAME
- AND PKR.REFTABSCHEMA = PKRC.TABSCHEMA AND PKR.REFTABNAME = PKRC.TABNAME AND PKR.REFKEYNAME = PKRC.CONSTNAME AND PKR.REFTABSCHEMA = PKRC.TABSCHEMA
- AND PKR.REFTABSCHEMA = FKR.TABSCHEMA AND FKR.CONSTNAME = PKR.CONSTNAME AND FKRC.COLSEQ = PKRC.COLSEQ
- ORDER BY parentSchema, parentQueryObject, foreignKeyName, columnSequence</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="AND PKR.REFTABSCHEMA = FKR.TABSCHEMA AND FKR.CONSTNAME = PKR.CONSTNAME AND FKRC.COLSEQ = PKRC.COLSEQ" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="FKR.REFTABSCHEMA" relmd:objectExpression="FKR.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:foreignKeysImportRules>
- <relmd:indexesImportRules>
- <relmd:sql>SELECT '' tableCatalog, RTRIM(A.TABSCHEMA) tableSchema, A.TABNAME tableName, A.INDNAME objectName, CASE A.UNIQUERULE WHEN 'P' THEN '1' WHEN 'U' THEN '1' ELSE '0' END isUnique, CASE A.INDEXTYPE WHEN 'REG' THEN '1' WHEN 'CLUS' THEN '3' ELSE '0' END storageType, '' parentCatalog, RTRIM(A.INDSCHEMA) parentSchema, B.COLSEQ refColumnSequence, B.COLNAME refColumnName, 'A' /*B.COLORDER*/ sortOrder, '' description
- FROM SYSCAT.INDEXES A, SYSCAT.INDEXCOLUSE B
- WHERE A.INDSCHEMA = B.INDSCHEMA
- AND A.INDNAME = B.INDNAME
- ORDER BY parentSchema, tableName, objectName, refColumnSequence</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="AND A.INDNAME = B.INDNAME" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.INDSCHEMA"/>
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:indexesImportRules>
- <relmd:synonymsImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.TABSCHEMA) parentSchema, A.TABNAME sqlObjectName
- , '' externalHostRef, '' refCatalog, CASE WHEN A.BASE_TABSCHEMA <> A.TABSCHEMA THEN RTRIM(A.BASE_TABSCHEMA) ELSE '' END refSchema
- , A.BASE_TABNAME targetSqlObjectName, '' description FROM SYSCAT.TABLES A
- WHERE A.TYPE IN ('A', 'N')
- ORDER BY parentCatalog, parentSchema, targetSqlObjectName</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="A.TYPE IN ('A', 'N')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:synonymsImportRules>
- <relmd:routinesImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME procedureName,'' description, A.ROUTINETYPE procedureType
- FROM SYSCAT.ROUTINES A
- WHERE A.ROUTINETYPE IN ('F','P')
- ORDER BY parentSchema, procedureName</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="WHERE A.ROUTINETYPE IN ('F','P')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:routinesImportRules>
- <relmd:proceduresImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME procedureName,'' description, A.ROUTINETYPE procedureType
- FROM SYSCAT.ROUTINES A
- WHERE A.ROUTINETYPE IN ('P')
- ORDER BY parentSchema, procedureName</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="WHERE A.ROUTINETYPE IN ('P')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:proceduresImportRules>
- <relmd:functionsImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME procedureName,'' description, A.ROUTINETYPE procedureType
- FROM SYSCAT.ROUTINES A
- WHERE A.ROUTINETYPE IN ('F')
- ORDER BY parentSchema, procedureName</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="WHERE A.ROUTINETYPE IN ('F')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:functionsImportRules>
- <relmd:routineArgumentsImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject, A.PARMNAME parameterName
- , A.TYPENAME dataType, A.LENGTH length, '' precision, A.SCALE scale, 'FALSE' isNullable, '' defaultValue
- , '' collationSequence, '' description, B.ROUTINEID signatureIndex
- , CASE A.ROWTYPE
- WHEN 'R' THEN 'out' WHEN 'C' THEN 'out' WHEN 'P' THEN 'in' WHEN 'O' THEN 'out' WHEN 'B' THEN 'inout'
- END parameterMode
- , '0' occurs, A.ORDINAL parameterSequence, 0 dataLevel, 0 argumentPosition
- FROM SYSCAT.ROUTINEPARMS A, SYSCAT.ROUTINES B
- WHERE A.ROUTINESCHEMA = B.ROUTINESCHEMA AND A.ROUTINENAME = B.ROUTINENAME AND A.SPECIFICNAME = B.SPECIFICNAME AND B.ROUTINETYPE IN ('F','P')
- UNION
- SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject
- , '' parameterName, '' dataType, 0 length, '' precision, 0 scale, 'FALSE' isNullable, '' defaultValue, '' collationSequence, '' description, -1 signatureIndex, 'emptyArgumentListPlacholder' parameterMode, '0' occurs, 0 parameterSequence, 0 dataLevel, 0 argumentPosition
- FROM SYSCAT.ROUTINES A
- WHERE (A.ROUTINESCHEMA, A.ROUTINENAME, A.SPECIFICNAME) NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)
- ORDER BY parentCatalog, parentSchema, parentQueryObject, signatureIndex, parameterSequence, dataLevel, argumentPosition</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment=" AND B.ROUTINETYPE IN ('F','P')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:routineArgumentsImportRules>
- <relmd:procedureRoutineArgusImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject, A.PARMNAME parameterName
- , A.TYPENAME dataType, A.LENGTH length, '' precision, A.SCALE scale, 'FALSE' isNullable, '' defaultValue
- , '' collationSequence, '' description, B.ROUTINEID signatureIndex
- , CASE A.ROWTYPE
- WHEN 'R' THEN 'out' WHEN 'C' THEN 'out' WHEN 'P' THEN 'in' WHEN 'O' THEN 'out' WHEN 'B' THEN 'inout'
- END parameterMode
- , '0' occurs, A.ORDINAL parameterSequence, 0 dataLevel, 0 argumentPosition
- FROM SYSCAT.ROUTINEPARMS A, SYSCAT.ROUTINES B
- WHERE A.ROUTINESCHEMA = B.ROUTINESCHEMA AND A.ROUTINENAME = B.ROUTINENAME AND A.SPECIFICNAME = B.SPECIFICNAME AND B.ROUTINETYPE IN ('P')
- UNION
- SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject
- , '' parameterName, '' dataType, 0 length, '' precision, 0 scale, 'FALSE' isNullable, '' defaultValue, '' collationSequence, '' description, -1 signatureIndex, 'emptyArgumentListPlacholder' parameterMode, '0' occurs, 0 parameterSequence, 0 dataLevel, 0 argumentPosition
- FROM SYSCAT.ROUTINES A
- WHERE (A.ROUTINESCHEMA, A.ROUTINENAME, A.SPECIFICNAME) NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)
- ORDER BY parentCatalog, parentSchema, parentQueryObject, signatureIndex, parameterSequence, dataLevel, argumentPosition</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment=" AND B.ROUTINETYPE IN ('P')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:procedureRoutineArgusImportRules>
- <relmd:functionRoutineArgusImportRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject, A.PARMNAME parameterName
- , A.TYPENAME dataType, A.LENGTH length, '' precision, A.SCALE scale, 'FALSE' isNullable, '' defaultValue
- , '' collationSequence, '' description, B.ROUTINEID signatureIndex
- , CASE A.ROWTYPE
- WHEN 'R' THEN 'out' WHEN 'C' THEN 'out' WHEN 'P' THEN 'in' WHEN 'O' THEN 'out' WHEN 'B' THEN 'inout'
- END parameterMode
- , '0' occurs, A.ORDINAL parameterSequence, 0 dataLevel, 0 argumentPosition
- FROM SYSCAT.ROUTINEPARMS A, SYSCAT.ROUTINES B
- WHERE A.ROUTINESCHEMA = B.ROUTINESCHEMA AND A.ROUTINENAME = B.ROUTINENAME AND A.SPECIFICNAME = B.SPECIFICNAME AND B.ROUTINETYPE IN ('F')
- UNION
- SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject
- , '' parameterName, '' dataType, 0 length, '' precision, 0 scale, 'FALSE' isNullable, '' defaultValue, '' collationSequence, '' description, -1 signatureIndex, 'emptyArgumentListPlacholder' parameterMode, '0' occurs, 0 parameterSequence, 0 dataLevel, 0 argumentPosition
- FROM SYSCAT.ROUTINES A
- WHERE (A.ROUTINESCHEMA, A.ROUTINENAME, A.SPECIFICNAME) NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)
- ORDER BY parentCatalog, parentSchema, parentQueryObject, signatureIndex, parameterSequence, dataLevel, argumentPosition</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:sqlFragment=" AND B.ROUTINETYPE IN ('F')" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- <relmd:objectSelectionsInclusion relmd:sqlFragment="NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)" relmd:insertLocation="after" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.ROUTINESCHEMA" relmd:objectExpression="A.ROUTINENAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:functionRoutineArgusImportRules>
- <relmd:sqlObjectImportRules>
- <relmd:sql>(SELECT '' AS parentCatalog, RTRIM(A.TABSCHEMA) AS parentSchema, A.TABNAME AS sqlObjectName,
- CASE A.TYPE WHEN 'A' THEN 'S' WHEN 'S' THEN 'T' ELSE A.TYPE END AS objectType
- , '' AS externalHostRef, '' AS refCatalog, '' AS refSchema, '' AS synonymTargetName, '' AS synonymTargetType, '' AS description
- FROM SYSCAT.TABLES A
- WHERE A.TYPE IN ('V','T','S'))
- UNION
- (SELECT '' AS parentCatalog, RTRIM(A.TABSCHEMA) AS parentSchema, A.TABNAME AS sqlObjectName, 'S' AS objectType
- , '' AS externalHostRef, '' AS refCatalog, CASE WHEN A.BASE_TABSCHEMA <> A.TABSCHEMA THEN RTRIM(A.BASE_TABSCHEMA) ELSE '' END AS refSchema
- , A.BASE_TABNAME AS synonymTargetName, CASE B.type WHEN 'A' THEN 'S' WHEN 'S' THEN 'T' ELSE B.TYPE END AS synonymTargetType, '' AS description
- FROM SYSCAT.TABLES A, SYSCAT.TABLES B
- WHERE A.TYPE IN ('A')
- AND B.TYPE IN ('V','T','S','A')
- AND A.BASE_TABSCHEMA = B.TABSCHEMA
- AND A.BASE_TABNAME = B.TABNAME)
- ORDER BY parentSchema, sqlObjectName</relmd:sql>
- <relmd:objectSelectionsInclusion relmd:insertLocation="after" relmd:sqlFragment="A.TYPE IN ('V','T','S')" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- <relmd:objectSelectionsInclusion relmd:insertLocation="after" relmd:sqlFragment="B.TYPE IN ('V','T','S','A')" relmd:insertPrefix="AND">
- <relmd:objectSelectionsCondition relmd:schemaExpression="A.TABSCHEMA" relmd:objectExpression="A.TABNAME"/>
- </relmd:objectSelectionsInclusion>
- </relmd:sqlObjectImportRules>
- <relmd:schemasBrowseRules>
- <relmd:sql>
- SELECT SCHEMANAME objectName, '' description
- FROM SYSCAT.SCHEMATA A
- GROUP BY SCHEMANAME
- ORDER BY objectName
- </relmd:sql>
- <relmd:systemObjectFilter relmd:insertPrefix="WHERE" relmd:sqlFragment="FROM SYSCAT.SCHEMATA A" relmd:insertLocation="after" relmd:objectExpression="SCHEMANAME">
- <relmd:systemObject relmd:name="SQLJ"/>
- <relmd:systemObject relmd:name="SYSCAT"/>
- <relmd:systemObject relmd:name="SYSFUN"/>
- <relmd:systemObject relmd:name="SYSIBM"/>
- <relmd:systemObject relmd:name="SYSIBMADM"/>
- <relmd:systemObject relmd:name="SYSIBMINTERNAL"/>
- <relmd:systemObject relmd:name="SYSIBMTS"/>
- <relmd:systemObject relmd:name="SYSPROC"/>
- <relmd:systemObject relmd:name="SYSSTAT"/>
- <relmd:systemObject relmd:name="SYSTOOLS"/>
- </relmd:systemObjectFilter>
- </relmd:schemasBrowseRules>
- <relmd:tablesBrowseRules>
- <relmd:schemaGrainSql>
- SELECT A.TABNAME objectName, '' description
- FROM SYSCAT.TABLES A
- WHERE A.TYPE IN ('T','S')
- AND A.TABSCHEMA = '<relmd:schemaSubstitution/>'
- ORDER BY objectName
- </relmd:schemaGrainSql>
- </relmd:tablesBrowseRules>
- <relmd:viewsBrowseRules>
- <relmd:schemaGrainSql>
- SELECT A.TABNAME objectName, '' description
- FROM SYSCAT.TABLES A
- WHERE A.TYPE IN ('V')
- AND A.TABSCHEMA = '<relmd:schemaSubstitution/>'
- ORDER BY objectName
- </relmd:schemaGrainSql>
- </relmd:viewsBrowseRules>
- <relmd:columnsBrowseRules>
- <relmd:objectGrainSql>
- SELECT A.COLNAME objectName, '' description
- FROM SYSCAT.COLUMNS A
- WHERE A.TABSCHEMA = '<relmd:schemaSubstitution/> '
- AND A.TABNAME = '<relmd:objectSubstitution/>'
- ORDER BY A.COLNO
- </relmd:objectGrainSql>
- </relmd:columnsBrowseRules>
- <relmd:synonymsBrowseRules>
- <relmd:schemaGrainSql>
- SELECT A.TABNAME objectName, '' description
- FROM SYSCAT.TABLES A
- WHERE A.TYPE IN ('A', 'N')
- AND A.TABSCHEMA = '<relmd:schemaSubstitution/>'
- ORDER BY objectName
- </relmd:schemaGrainSql>
- </relmd:synonymsBrowseRules>
- <relmd:proceduresBrowseRules>
- <relmd:schemaGrainSql>
- SELECT A.ROUTINENAME objectName,'' description
- FROM SYSCAT.ROUTINES A
- WHERE A.ROUTINETYPE = 'P'
- AND A.ROUTINESCHEMA = '<relmd:schemaSubstitution/>'
- GROUP BY A.ROUTINENAME
- ORDER BY objectName
- </relmd:schemaGrainSql>
- </relmd:proceduresBrowseRules>
- <relmd:functionsBrowseRules>
- <relmd:schemaGrainSql>
- SELECT A.ROUTINENAME objectName,'' description
- FROM SYSCAT.ROUTINES A
- WHERE A.ROUTINETYPE = 'F'
- AND A.ROUTINESCHEMA = '<relmd:schemaSubstitution/>'
- GROUP BY A.ROUTINENAME
- ORDER BY objectName
- </relmd:schemaGrainSql>
- </relmd:functionsBrowseRules>
- <relmd:objectListingsRules>
- <relmd:sql>SELECT '' parentCatalog, RTRIM(A.TABSCHEMA) parentSchema, A.TABNAME objectName, A.TYPE objectType, '' description
- FROM SYSCAT.TABLES A WHERE A.TYPE IN ('V','T','S','A', 'N')
- UNION
- SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME objectName, a.routinetype objectType, '' description
- FROM SYSCAT.ROUTINES A WHERE A.ROUTINETYPE IN ('F', 'P')
- ORDER BY parentSchema, objectName</relmd:sql>
- </relmd:objectListingsRules>
- <relmd:driverClass relmd:className="com.ibm.db2.jcc.DB2Driver"/>
- <relmd:driverClass relmd:className="COM.ibm.db2.jdbc.net.DB2Driver"/>
- <relmd:driverClass relmd:className="COM.ibm.db2.jdbc.app.DB2Driver"/>
- </relmd:vendorRules>
|