informix.xml 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: relmd
  5. (C) Copyright IBM Corp. 2008, 2015
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. Informix metadata extraction rules (via data dictionary SQL)
  12. -->
  13. <relmd:vendorRules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/cognos/relmd/1/0 ../../webcontent/relmd/vendor/relmdVendorRules.xsd" xmlns:relmd="http://www.ibm.com/xmlns/prod/cognos/relmd/1/0">
  14. <relmd:caseSensitivityRules relmd:storage="none"/>
  15. <relmd:tablesViewsImportRules>
  16. <relmd:sql>SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, A.tabname AS objectName , tabType AS tableType
  17. FROM informix.systables A
  18. WHERE A.tabType IN ('T', 'V')
  19. ORDER BY parentCatalog, parentSchema, objectName</relmd:sql>
  20. <relmd:objectSelectionsInclusion relmd:sqlFragment="tabType IN ('T', 'V')" relmd:insertLocation="after" relmd:insertPrefix="AND">
  21. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="A.tabname"/>
  22. </relmd:objectSelectionsInclusion>
  23. </relmd:tablesViewsImportRules>
  24. <relmd:tablesImportRules>
  25. <relmd:sql>SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, A.tabname AS objectName , tabType AS tableType
  26. FROM informix.systables A
  27. WHERE A.tabType IN ('T')
  28. ORDER BY parentCatalog, parentSchema, objectName</relmd:sql>
  29. <relmd:objectSelectionsInclusion relmd:sqlFragment="tabType IN ('T')" relmd:insertLocation="after" relmd:insertPrefix="AND">
  30. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="A.tabname"/>
  31. </relmd:objectSelectionsInclusion>
  32. </relmd:tablesImportRules>
  33. <relmd:viewsImportRules>
  34. <relmd:sql>SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, A.tabname AS objectName , tabType AS tableType
  35. FROM informix.systables A
  36. WHERE A.tabType IN ('V')
  37. ORDER BY parentCatalog, parentSchema, objectName</relmd:sql>
  38. <relmd:objectSelectionsInclusion relmd:sqlFragment="tabType IN ('V')" relmd:insertLocation="after" relmd:insertPrefix="AND">
  39. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="A.tabname"/>
  40. </relmd:objectSelectionsInclusion>
  41. </relmd:viewsImportRules>
  42. <relmd:columnsImportRules>
  43. <relmd:sql>
  44. SELECT parentCatalog, parentSchema, parentObject, columnName
  45. , TO_CHAR(CASE
  46. WHEN datatype = 0 THEN 'char'
  47. WHEN datatype = 1 THEN 'smallint'
  48. WHEN datatype = 2 THEN 'integer'
  49. WHEN datatype = 3 THEN 'float'
  50. WHEN datatype = 4 THEN 'smallfloat'
  51. WHEN datatype = 5 THEN 'decimal'
  52. WHEN datatype = 6 THEN 'serial'
  53. WHEN datatype = 7 THEN 'date'
  54. WHEN datatype = 8 THEN 'money'
  55. WHEN datatype = 9 THEN 'null'
  56. WHEN datatype = 10 THEN 'datetime'
  57. WHEN datatype = 11 THEN 'byte'
  58. WHEN datatype = 12 THEN 'text'
  59. WHEN datatype = 13 THEN 'varchar'
  60. WHEN datatype = 14 THEN 'interval'
  61. WHEN datatype = 15 THEN 'nchar'
  62. WHEN datatype = 16 THEN 'nvarchar'
  63. WHEN datatype = 17 THEN 'int8'
  64. WHEN datatype = 18 THEN 'serial8'
  65. WHEN datatype = 19 THEN 'set'
  66. WHEN datatype = 20 THEN 'multiset'
  67. WHEN datatype = 21 THEN 'list'
  68. WHEN datatype = 22 THEN 'row'
  69. WHEN datatype = 23 THEN 'collection'
  70. WHEN datatype = 24 THEN 'rowref'
  71. WHEN datatype = 40 THEN 'variable-length opaque type'
  72. WHEN datatype = 41 THEN 'fixed-length opaque type'
  73. WHEN datatype = 4118 THEN 'named row type'
  74. ELSE 'unknown'
  75. END ) AS datatype
  76. , colLength
  77. , CASE WHEN datatype IN('5', '8') THEN colPrecision ELSE 0 END AS colPrecision
  78. , CASE WHEN datatype IN('5', '8') THEN colScale ELSE 0 END as colScale, isNullable
  79. , defaultValue, collationSequence, description
  80. FROM (
  81. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, A.tabname AS parentObject, B.colname columnName
  82. , CASE WHEN B.coltype >= 256 THEN B.coltype - 256 ELSE B.coltype END AS datatype, B.collength AS colLength
  83. , round(B.collength / 256) AS colPrecision, mod(B.collength, 256) AS colScale
  84. , CASE WHEN B.coltype >= 256 THEN '0' ELSE '1' END AS isNullable, '' AS defaultValue, '' AS characterSet, '' AS collationSequence, '' AS description
  85. FROM informix.syscolumns B, informix.systables A
  86. WHERE A.tabid > 99 AND tabType IN ('T', 'V')
  87. AND A.tabid = B.tabid
  88. ORDER BY parentCatalog, parentSchema, parentObject, B.colno)
  89. </relmd:sql>
  90. <relmd:objectSelectionsInclusion relmd:sqlFragment="AND A.tabid = B.tabid" relmd:insertLocation="after" relmd:insertPrefix="AND">
  91. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="A.tabname"/>
  92. </relmd:objectSelectionsInclusion>
  93. </relmd:columnsImportRules>
  94. <relmd:uniqueKeysImportRules>
  95. <relmd:sql>
  96. SELECT parentCatalog, parentSchema, parentObject, objectName, columnRef, description FROM
  97. (SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  98. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  99. WHERE A.constrtype in ('U', 'P')
  100. AND A.idxname = B.idxname AND B.part1 > 0
  101. AND B.tabid = C.tabid
  102. AND B.tabid = D.tabid
  103. AND B.part1 = D.colno
  104. UNION
  105. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  106. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  107. WHERE A.constrtype in ('U', 'P')
  108. AND A.idxname = B.idxname AND B.part2 > 0
  109. AND B.tabid = C.tabid
  110. AND B.tabid = D.tabid
  111. AND B.part2 = D.colno
  112. UNION
  113. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  114. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  115. WHERE A.constrtype in ('U', 'P')
  116. AND A.idxname = B.idxname AND B.part3 > 0
  117. AND B.tabid = C.tabid
  118. AND B.tabid = D.tabid
  119. AND B.part3 = D.colno
  120. UNION
  121. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  122. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  123. WHERE A.constrtype in ('U', 'P')
  124. AND A.idxname = B.idxname AND B.part4 > 0
  125. AND B.tabid = C.tabid
  126. AND B.tabid = D.tabid
  127. AND B.part4 = D.colno
  128. UNION
  129. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  130. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  131. WHERE A.constrtype in ('U', 'P')
  132. AND A.idxname = B.idxname AND B.part5 > 0
  133. AND B.tabid = C.tabid
  134. AND B.tabid = D.tabid
  135. AND B.part5 = D.colno
  136. UNION
  137. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  138. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  139. WHERE A.constrtype in ('U', 'P')
  140. AND A.idxname = B.idxname AND B.part6 > 0
  141. AND B.tabid = C.tabid
  142. AND B.tabid = D.tabid
  143. AND B.part6 = D.colno
  144. UNION
  145. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  146. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  147. WHERE A.constrtype in ('U', 'P')
  148. AND A.idxname = B.idxname AND B.part7 > 0
  149. AND B.tabid = C.tabid
  150. AND B.tabid = D.tabid
  151. AND B.part7 = D.colno
  152. UNION
  153. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  154. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  155. WHERE A.constrtype in ('U', 'P')
  156. AND A.idxname = B.idxname AND B.part8 > 0
  157. AND B.tabid = C.tabid
  158. AND B.tabid = D.tabid
  159. AND B.part8 = D.colno
  160. UNION
  161. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  162. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  163. WHERE A.constrtype in ('U', 'P')
  164. AND A.idxname = B.idxname AND B.part9 > 0
  165. AND B.tabid = C.tabid
  166. AND B.tabid = D.tabid
  167. AND B.part9 = D.colno
  168. UNION
  169. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  170. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  171. WHERE A.constrtype in ('U', 'P')
  172. AND A.idxname = B.idxname AND B.part10 > 0
  173. AND B.tabid = C.tabid
  174. AND B.tabid = D.tabid
  175. AND B.part10 = D.colno
  176. UNION
  177. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  178. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  179. WHERE A.constrtype in ('U', 'P')
  180. AND A.idxname = B.idxname AND B.part11 > 0
  181. AND B.tabid = C.tabid
  182. AND B.tabid = D.tabid
  183. AND B.part11 = D.colno
  184. UNION
  185. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  186. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  187. WHERE A.constrtype in ('U', 'P')
  188. AND A.idxname = B.idxname AND B.part12 > 0
  189. AND B.tabid = C.tabid
  190. AND B.tabid = D.tabid
  191. AND B.part12 = D.colno
  192. UNION
  193. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  194. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  195. WHERE A.constrtype in ('U', 'P')
  196. AND A.idxname = B.idxname AND B.part13 > 0
  197. AND B.tabid = C.tabid
  198. AND B.tabid = D.tabid
  199. AND B.part13 = D.colno
  200. UNION
  201. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  202. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  203. WHERE A.constrtype in ('U', 'P')
  204. AND A.idxname = B.idxname AND B.part14 > 0
  205. AND B.tabid = C.tabid
  206. AND B.tabid = D.tabid
  207. AND B.part14 = D.colno
  208. UNION
  209. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  210. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  211. WHERE A.constrtype in ('U', 'P')
  212. AND A.idxname = B.idxname AND B.part15 > 0
  213. AND B.tabid = C.tabid
  214. AND B.tabid = D.tabid
  215. AND B.part15 = D.colno
  216. UNION
  217. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, C.tabname AS parentObject, A.constrname AS objectName, D.colname AS columnRef, '' description, d.colno colsequence
  218. FROM informix.sysconstraints A, informix.sysindexes B, informix.systables C, informix.syscolumns D
  219. WHERE A.constrtype in ('U', 'P')
  220. AND A.idxname = B.idxname AND B.part16 > 0
  221. AND B.tabid = C.tabid
  222. AND B.tabid = D.tabid
  223. AND B.part16 = D.colno
  224. ORDER BY parentCatalog, parentSchema, parentObject, objectName, colsequence)
  225. </relmd:sql>
  226. <relmd:objectSelectionsInclusion relmd:sqlFragment="AND B.tabid = D.tabid" relmd:insertLocation="after" relmd:insertPrefix="AND">
  227. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="B.tabname"/>
  228. </relmd:objectSelectionsInclusion>
  229. </relmd:uniqueKeysImportRules>
  230. <relmd:foreignKeysImportRules>
  231. <relmd:sql>SELECT foreignKeyCatalog AS parentCatalog, foreignKeySchema AS parentSchema, parentObject, foreignKeyName, exportedColumnRef, colSequence, foreignKeyCatalog AS importedCatalog, foreignKeySchema AS importedSchema, importedTable, importedKey, '' importedColumn, description
  232. FROM
  233. ( SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  234. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  235. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  236. WHERE XA.constrtype in ('R')
  237. AND XA.idxname = XB.idxname AND XB.part1 > 0
  238. AND XB.tabid = XC.tabid
  239. AND XB.tabid = XD.tabid
  240. AND XB.part1 = XD.colno
  241. AND XA.constrid = XE.constrid
  242. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  243. UNION
  244. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  245. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  246. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  247. WHERE XA.constrtype in ('R')
  248. AND XA.idxname = XB.idxname AND XB.part2 > 0
  249. AND XB.tabid = XC.tabid
  250. AND XB.tabid = XD.tabid
  251. AND XB.part2 = XD.colno
  252. AND XA.constrid = XE.constrid
  253. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  254. UNION
  255. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  256. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  257. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  258. WHERE XA.constrtype in ('R')
  259. AND XA.idxname = XB.idxname AND XB.part3 > 0
  260. AND XB.tabid = XC.tabid
  261. AND XB.tabid = XD.tabid
  262. AND XB.part3 = XD.colno
  263. AND XA.constrid = XE.constrid
  264. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  265. UNION
  266. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  267. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  268. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  269. WHERE XA.constrtype in ('R')
  270. AND XA.idxname = XB.idxname AND XB.part4 > 0
  271. AND XB.tabid = XC.tabid
  272. AND XB.tabid = XD.tabid
  273. AND XB.part4 = XD.colno
  274. AND XA.constrid = XE.constrid
  275. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  276. UNION
  277. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  278. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  279. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  280. WHERE XA.constrtype in ('R')
  281. AND XA.idxname = XB.idxname AND XB.part5 > 0
  282. AND XB.tabid = XC.tabid
  283. AND XB.tabid = XD.tabid
  284. AND XB.part5 = XD.colno
  285. AND XA.constrid = XE.constrid
  286. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  287. UNION
  288. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  289. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  290. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  291. WHERE XA.constrtype in ('R')
  292. AND XA.idxname = XB.idxname AND XB.part6 > 0
  293. AND XB.tabid = XC.tabid
  294. AND XB.tabid = XD.tabid
  295. AND XB.part6 = XD.colno
  296. AND XA.constrid = XE.constrid
  297. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  298. UNION
  299. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  300. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  301. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  302. WHERE XA.constrtype in ('R')
  303. AND XA.idxname = XB.idxname AND XB.part7 > 0
  304. AND XB.tabid = XC.tabid
  305. AND XB.tabid = XD.tabid
  306. AND XB.part7 = XD.colno
  307. AND XA.constrid = XE.constrid
  308. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  309. UNION
  310. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  311. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  312. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  313. WHERE XA.constrtype in ('R')
  314. AND XA.idxname = XB.idxname AND XB.part8 > 0
  315. AND XB.tabid = XC.tabid
  316. AND XB.tabid = XD.tabid
  317. AND XB.part8 = XD.colno
  318. AND XA.constrid = XE.constrid
  319. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  320. UNION
  321. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  322. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  323. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  324. WHERE XA.constrtype in ('R')
  325. AND XA.idxname = XB.idxname AND XB.part9 > 0
  326. AND XB.tabid = XC.tabid
  327. AND XB.tabid = XD.tabid
  328. AND XB.part9 = XD.colno
  329. AND XA.constrid = XE.constrid
  330. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  331. UNION
  332. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  333. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  334. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  335. WHERE XA.constrtype in ('R')
  336. AND XA.idxname = XB.idxname AND XB.part10 > 0
  337. AND XB.tabid = XC.tabid
  338. AND XB.tabid = XD.tabid
  339. AND XB.part10 = XD.colno
  340. AND XA.constrid = XE.constrid
  341. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  342. UNION
  343. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  344. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  345. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  346. WHERE XA.constrtype in ('R')
  347. AND XA.idxname = XB.idxname AND XB.part11 > 0
  348. AND XB.tabid = XC.tabid
  349. AND XB.tabid = XD.tabid
  350. AND XB.part11 = XD.colno
  351. AND XA.constrid = XE.constrid
  352. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  353. UNION
  354. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  355. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  356. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  357. WHERE XA.constrtype in ('R')
  358. AND XA.idxname = XB.idxname AND XB.part12 > 0
  359. AND XB.tabid = XC.tabid
  360. AND XB.tabid = XD.tabid
  361. AND XB.part12 = XD.colno
  362. AND XA.constrid = XE.constrid
  363. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  364. UNION
  365. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  366. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  367. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  368. WHERE XA.constrtype in ('R')
  369. AND XA.idxname = XB.idxname AND XB.part13 > 0
  370. AND XB.tabid = XC.tabid
  371. AND XB.tabid = XD.tabid
  372. AND XB.part13 = XD.colno
  373. AND XA.constrid = XE.constrid
  374. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  375. UNION
  376. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  377. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  378. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  379. WHERE XA.constrtype in ('R')
  380. AND XA.idxname = XB.idxname AND XB.part14 > 0
  381. AND XB.tabid = XC.tabid
  382. AND XB.tabid = XD.tabid
  383. AND XB.part14 = XD.colno
  384. AND XA.constrid = XE.constrid
  385. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  386. UNION
  387. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  388. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  389. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  390. WHERE XA.constrtype in ('R')
  391. AND XA.idxname = XB.idxname AND XB.part15 > 0
  392. AND XB.tabid = XC.tabid
  393. AND XB.tabid = XD.tabid
  394. AND XB.part5 = XD.colno
  395. AND XA.constrid = XE.constrid
  396. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  397. UNION
  398. SELECT '' AS foreignKeyCatalog, trim(XA.owner) AS foreignKeySchema, XC.tabname AS parentObject, XA.constrname AS foreignKeyName, PKTAB.tabname importedTable, PKC.constrname importedKey
  399. , XD.colname AS exportedColumnRef, '' description, XD.colno colsequence
  400. FROM informix.sysconstraints XA, informix.sysindexes XB, informix.systables XC, informix.syscolumns XD, informix.sysreferences XE, informix.sysconstraints PKC, informix.systables PKTAB
  401. WHERE XA.constrtype in ('R')
  402. AND XA.idxname = XB.idxname AND XB.part16 > 0
  403. AND XB.tabid = XC.tabid
  404. AND XB.tabid = XD.tabid
  405. AND XB.part16 = XD.colno
  406. AND XA.constrid = XE.constrid
  407. AND PKC.constrid = XE.primary AND XE.ptabid = PKTAB.tabid
  408. )
  409. ORDER BY parentCatalog, parentSchema, parentObject, foreignKeyName, importedKey, colSequence
  410. </relmd:sql>
  411. <relmd:objectSelectionsInclusion relmd:sqlFragment="AND XA.constrid = XE.constrid" relmd:insertLocation="after" relmd:insertPrefix="AND">
  412. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(XA.owner)" relmd:schemaExpression="trim(XA.owner)" relmd:objectExpression="XC.tabname"/>
  413. </relmd:objectSelectionsInclusion>
  414. </relmd:foreignKeysImportRules>
  415. <relmd:indexesImportRules>
  416. <relmd:sql>
  417. SELECT parentCatalog, parentSchema, parentObject, indexName, CASE indexType WHEN 'U' THEN '1' ELSE '0' END isUnique, CASE clustered WHEN 'C' THEN '2' ELSE '0' END storageType, parentCatalog, parentSchema, parentObject, colsequence, columnRef, description FROM
  418. (SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  419. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  420. WHERE A.constrtype NOT IN ('U', 'P')
  421. AND A.idxname = B.idxname AND B.part1 > 0
  422. AND B.tabid = C.tabid
  423. AND B.tabid = D.tabid
  424. AND B.part1 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  425. UNION
  426. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  427. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  428. WHERE A.constrtype NOT IN ('U', 'P')
  429. AND A.idxname = B.idxname AND B.part2 > 0
  430. AND B.tabid = C.tabid
  431. AND B.tabid = D.tabid
  432. AND B.part2 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  433. UNION
  434. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  435. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  436. WHERE A.constrtype NOT IN ('U', 'P')
  437. AND A.idxname = B.idxname AND B.part3 > 0
  438. AND B.tabid = C.tabid
  439. AND B.tabid = D.tabid
  440. AND B.part3 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  441. UNION
  442. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  443. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  444. WHERE A.constrtype NOT IN ('U', 'P')
  445. AND A.idxname = B.idxname AND B.part4 > 0
  446. AND B.tabid = C.tabid
  447. AND B.tabid = D.tabid
  448. AND B.part4 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  449. UNION
  450. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  451. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  452. WHERE A.constrtype NOT IN ('U', 'P')
  453. AND A.idxname = B.idxname AND B.part5 > 0
  454. AND B.tabid = C.tabid
  455. AND B.tabid = D.tabid
  456. AND B.part5 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  457. UNION
  458. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  459. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  460. WHERE A.constrtype NOT IN ('U', 'P')
  461. AND A.idxname = B.idxname AND B.part6 > 0
  462. AND B.tabid = C.tabid
  463. AND B.tabid = D.tabid
  464. AND B.part6 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  465. UNION
  466. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  467. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  468. WHERE A.constrtype NOT IN ('U', 'P')
  469. AND A.idxname = B.idxname AND B.part7 > 0
  470. AND B.tabid = C.tabid
  471. AND B.tabid = D.tabid
  472. AND B.part7 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  473. UNION
  474. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  475. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  476. WHERE A.constrtype NOT IN ('U', 'P')
  477. AND A.idxname = B.idxname AND B.part8 > 0
  478. AND B.tabid = C.tabid
  479. AND B.tabid = D.tabid
  480. AND B.part8 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  481. UNION
  482. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  483. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  484. WHERE A.constrtype NOT IN ('U', 'P')
  485. AND A.idxname = B.idxname AND B.part9 > 0
  486. AND B.tabid = C.tabid
  487. AND B.tabid = D.tabid
  488. AND B.part9 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  489. UNION
  490. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  491. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  492. WHERE A.constrtype NOT IN ('U', 'P')
  493. AND A.idxname = B.idxname AND B.part10 > 0
  494. AND B.tabid = C.tabid
  495. AND B.tabid = D.tabid
  496. AND B.part10 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  497. UNION
  498. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  499. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  500. WHERE A.constrtype NOT IN ('U', 'P')
  501. AND A.idxname = B.idxname AND B.part11 > 0
  502. AND B.tabid = C.tabid
  503. AND B.tabid = D.tabid
  504. AND B.part11 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  505. UNION
  506. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  507. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  508. WHERE A.constrtype NOT IN ('U', 'P')
  509. AND A.idxname = B.idxname AND B.part12 > 0
  510. AND B.tabid = C.tabid
  511. AND B.tabid = D.tabid
  512. AND B.part12 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  513. UNION
  514. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  515. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  516. WHERE A.constrtype NOT IN ('U', 'P')
  517. AND A.idxname = B.idxname AND B.part13 > 0
  518. AND B.tabid = C.tabid
  519. AND B.tabid = D.tabid
  520. AND B.part13 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  521. UNION
  522. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  523. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  524. WHERE A.constrtype NOT IN ('U', 'P')
  525. AND A.idxname = B.idxname AND B.part14 > 0
  526. AND B.tabid = C.tabid
  527. AND B.tabid = D.tabid
  528. AND B.part14 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  529. UNION
  530. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  531. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  532. WHERE A.constrtype NOT IN ('U', 'P')
  533. AND A.idxname = B.idxname AND B.part15 > 0
  534. AND B.tabid = C.tabid
  535. AND B.tabid = D.tabid
  536. AND B.part15 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  537. UNION
  538. SELECT trim(I.owner) AS parentCatalog, trim(I.owner) AS parentSchema, C.tabname AS parentObject, I.idxname AS indexName, I.idxtype AS indexType, I.clustered AS clustered, D.colname AS columnRef, '' description, d.colno colsequence
  539. FROM informix.sysconstraints A, informix.sysindices I, informix.sysindexes B, informix.systables C, informix.syscolumns D
  540. WHERE A.constrtype NOT IN ('U', 'P')
  541. AND A.idxname = B.idxname AND B.part16 > 0
  542. AND B.tabid = C.tabid
  543. AND B.tabid = D.tabid
  544. AND B.part16 = D.colno AND B.owner = trim(I.owner) AND B.idxname = I.idxname
  545. ORDER BY parentCatalog, parentSchema, parentObject, indexName, colsequence)
  546. </relmd:sql>
  547. <relmd:objectSelectionsInclusion relmd:sqlFragment="AND B.tabid = D.tabid" relmd:insertLocation="after" relmd:insertPrefix="AND">
  548. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(I.owner)" relmd:schemaExpression="trim(I.owner)" relmd:objectExpression="I.idxname"/>
  549. </relmd:objectSelectionsInclusion>
  550. </relmd:indexesImportRules>
  551. <relmd:synonymsImportRules>
  552. <relmd:sql>SELECT trim(B.owner) AS parentCatalog, trim(B.owner) AS parentSchema, B.tabname AS synonymName, '' externalHostRef, trim(C.owner) AS targetRefCatalog, trim(C.owner) AS targetRefSchema, C.tabname AS targetName, '' description
  553. FROM informix.syssyntable A, informix.systables B, informix.systables C
  554. WHERE A.tabid = B.tabid
  555. AND A.btabid = C.tabid
  556. ORDER BY parentCatalog, parentSchema, synonymName</relmd:sql>
  557. <relmd:objectSelectionsInclusion relmd:sqlFragment="AND A.btabid = C.tabid" relmd:insertLocation="after" relmd:insertPrefix="AND">
  558. <relmd:objectSelectionsCondition relmd:catalogExpression="B.owner" relmd:schemaExpression="B.owner" relmd:objectExpression="B.tabname"/>
  559. </relmd:objectSelectionsInclusion>
  560. </relmd:synonymsImportRules>
  561. <relmd:routinesImportRules>
  562. <relmd:sql>
  563. SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, A.procname AS procedureName, '' AS description, CASE internal WHEN 'f' then 'function' ELSE 'procedure' END AS invocationType
  564. FROM informix.sysprocedures A
  565. ORDER BY parentCatalog, parentSchema, procedureName</relmd:sql>
  566. <relmd:objectSelectionsInclusion relmd:sqlFragment="FROM informix.sysprocedures A" relmd:insertLocation="after" relmd:insertPrefix="WHERE">
  567. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="A.procname"/>
  568. </relmd:objectSelectionsInclusion>
  569. </relmd:routinesImportRules>
  570. <relmd:proceduresImportRules>
  571. <relmd:sql>TBD</relmd:sql>
  572. </relmd:proceduresImportRules>
  573. <relmd:functionsImportRules>
  574. <relmd:sql>TBD</relmd:sql>
  575. </relmd:functionsImportRules>
  576. <relmd:routineArgumentsImportRules>
  577. <relmd:sql/>
  578. <relmd:objectSelectionsInclusion relmd:sqlFragment="" relmd:insertLocation="after" relmd:insertPrefix="AND">
  579. <relmd:objectSelectionsCondition relmd:schemaExpression="" relmd:objectExpression=""/>
  580. </relmd:objectSelectionsInclusion>
  581. <relmd:objectSelectionsInclusion relmd:sqlFragment="" relmd:insertLocation="after" relmd:insertPrefix="AND">
  582. <relmd:objectSelectionsCondition relmd:schemaExpression="" relmd:objectExpression=""/>
  583. </relmd:objectSelectionsInclusion>
  584. </relmd:routineArgumentsImportRules>
  585. <relmd:procedureRoutineArgusImportRules>
  586. <relmd:sql/>
  587. <relmd:objectSelectionsInclusion relmd:sqlFragment="" relmd:insertLocation="after" relmd:insertPrefix="AND">
  588. <relmd:objectSelectionsCondition relmd:schemaExpression="" relmd:objectExpression=""/>
  589. </relmd:objectSelectionsInclusion>
  590. <relmd:objectSelectionsInclusion relmd:sqlFragment="" relmd:insertLocation="after" relmd:insertPrefix="AND">
  591. <relmd:objectSelectionsCondition relmd:schemaExpression="" relmd:objectExpression=""/>
  592. </relmd:objectSelectionsInclusion>
  593. </relmd:procedureRoutineArgusImportRules>
  594. <relmd:functionRoutineArgusImportRules>
  595. <relmd:sql/>
  596. <relmd:objectSelectionsInclusion relmd:sqlFragment="" relmd:insertLocation="after" relmd:insertPrefix="AND">
  597. <relmd:objectSelectionsCondition relmd:schemaExpression="" relmd:objectExpression=""/>
  598. </relmd:objectSelectionsInclusion>
  599. <relmd:objectSelectionsInclusion relmd:sqlFragment="" relmd:insertLocation="after" relmd:insertPrefix="AND">
  600. <relmd:objectSelectionsCondition relmd:schemaExpression="" relmd:objectExpression=""/>
  601. </relmd:objectSelectionsInclusion>
  602. </relmd:functionRoutineArgusImportRules>
  603. <relmd:sqlObjectImportRules>
  604. <relmd:sql>SELECT trim(A.owner) AS parentCatalog, trim(A.owner) AS parentSchema, A.tabname AS objectName , tabType AS tableType
  605. FROM informix.systables A
  606. WHERE A.tabType IN ('T','V')
  607. ORDER BY parentCatalog, parentSchema, objectName</relmd:sql>
  608. <relmd:objectSelectionsInclusion relmd:insertLocation="after" relmd:sqlFragment="A.tabType IN ('T','V')" relmd:insertPrefix="AND">
  609. <relmd:objectSelectionsCondition relmd:catalogExpression="trim(A.owner)" relmd:schemaExpression="trim(A.owner)" relmd:objectExpression="A,tabname"/>
  610. </relmd:objectSelectionsInclusion>
  611. </relmd:sqlObjectImportRules>
  612. <relmd:catalogsBrowseRules>
  613. <relmd:sql>
  614. SELECT trim(A.name) AS objectName, '' AS description
  615. FROM sysmaster:informix.sysdatabases A
  616. GROUP BY A.name
  617. ORDER BY objectName
  618. </relmd:sql>
  619. <relmd:systemObjectFilter relmd:insertLocation="after" relmd:sqlFragment="FROM sysmaster:informix.sysdatabases A" relmd:insertPrefix="WHERE" relmd:objectExpression="A.name">
  620. <relmd:systemObject relmd:name="sysmaster"/>
  621. <relmd:systemObject relmd:name="sysadmin"/>
  622. <relmd:systemObject relmd:name="sysuser"/>
  623. <relmd:systemObject relmd:name="sysutils"/>
  624. <relmd:systemObject relmd:name="informix"/>
  625. </relmd:systemObjectFilter>
  626. </relmd:catalogsBrowseRules>
  627. <relmd:schemasBrowseRules>
  628. <relmd:catalogGrainSql>
  629. SELECT trim(A.owner) AS objectName, '' AS description
  630. FROM sysmaster:informix.sysdatabases A
  631. WHERE A.name = '<relmd:catalogSubstitution/>'
  632. GROUP BY A.owner
  633. ORDER BY objectName
  634. </relmd:catalogGrainSql>
  635. <relmd:systemObjectFilter relmd:insertLocation="before" relmd:sqlFragment="GROUP BY A.owner" relmd:insertPrefix="AND" relmd:objectExpression="A.owner">
  636. <relmd:systemObject relmd:name="informix"/>
  637. <relmd:systemObject relmd:name="Administrator"/>
  638. </relmd:systemObjectFilter>
  639. </relmd:schemasBrowseRules>
  640. <relmd:tablesBrowseRules>
  641. <relmd:schemaGrainSql>
  642. SELECT A.tabname AS objectName, '' AS description
  643. FROM informix.systables A
  644. WHERE A.tabType = 'T'
  645. AND A.owner = '<relmd:schemaSubstitution/>'
  646. GROUP BY A.tabname
  647. ORDER BY objectName
  648. </relmd:schemaGrainSql>
  649. </relmd:tablesBrowseRules>
  650. <relmd:viewsBrowseRules>
  651. <relmd:schemaGrainSql>
  652. SELECT A.tabname AS objectName, '' AS description
  653. FROM informix.systables A
  654. WHERE A.tabType = 'V'
  655. AND A.owner = '<relmd:schemaSubstitution/>'
  656. GROUP BY A.tabname
  657. ORDER BY objectName
  658. </relmd:schemaGrainSql>
  659. </relmd:viewsBrowseRules>
  660. <relmd:columnsBrowseRules>
  661. <relmd:objectGrainSql>
  662. SELECT trim(B.colname) AS objectName, '' AS description
  663. FROM informix.syscolumns B, informix.systables A
  664. WHERE A.tabid > 99
  665. AND A.tabType IN ('T', 'V')
  666. AND A.tabid = B.tabid
  667. AND A.owner = '<relmd:schemaSubstitution/>'
  668. AND A.tabname = '<relmd:objectSubstitution/>'
  669. ORDER BY B.colno
  670. </relmd:objectGrainSql>
  671. </relmd:columnsBrowseRules>
  672. <relmd:synonymsBrowseRules>
  673. <relmd:schemaGrainSql>
  674. SELECT B.tabname AS objectName, '' description
  675. FROM informix.syssyntable A, informix.systables B
  676. WHERE A.tabid = B.tabid
  677. AND B.owner = '<relmd:schemaSubstitution/>'
  678. ORDER BY objectName
  679. </relmd:schemaGrainSql>
  680. </relmd:synonymsBrowseRules>
  681. <relmd:proceduresBrowseRules>
  682. <relmd:schemaGrainSql>
  683. SELECT A.procname AS objectName, '' AS description
  684. FROM informix.sysprocedures A
  685. WHERE internal != 'f'
  686. AND A.owner = '<relmd:schemaSubstitution/>'
  687. ORDER BY A.procname
  688. </relmd:schemaGrainSql>
  689. </relmd:proceduresBrowseRules>
  690. <relmd:functionsBrowseRules>
  691. <relmd:schemaGrainSql>
  692. SELECT A.procname AS objectName, '' AS description
  693. FROM informix.sysprocedures A
  694. WHERE internal = 'f'
  695. AND A.owner = '<relmd:schemaSubstitution/>'
  696. ORDER BY A.procname
  697. </relmd:schemaGrainSql>
  698. </relmd:functionsBrowseRules>
  699. <relmd:objectListingsRules>
  700. <relmd:sql>TBD</relmd:sql>
  701. </relmd:objectListingsRules>
  702. <!--relmd:dataTypeMappingsRule>
  703. <relmd:dataTypeMapping relmd:cclType="int32" relmd:fmType="int32">
  704. <relmd:nativeType relmd:value="STUB"/>
  705. </relmd:dataTypeMapping>
  706. </relmd:dataTypeMappingsRule-->
  707. <relmd:driverClass relmd:className="com.informix.jdbc.IfxDriver"/>
  708. </relmd:vendorRules>