Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. @Override
  2. protected List<TableDefinition> getTables0() throws SQLException {
  3. List<TableDefinition> result = new ArrayList<TableDefinition>();
  4.  
  5. Select<Record6<String, String, String, Boolean, BigDecimal, String>> empty =
  6. select(inline(""), inline(""), inline(""), inline(false), inline(BigDecimal.ZERO), inline(""))
  7. .where(falseCondition());
  8.  
  9. for (Record record : create()
  10. .select()
  11. // Ordinary tables
  12. .from(
  13. select(
  14. ALL_TAB_COMMENTS.OWNER,
  15. ALL_TAB_COMMENTS.TABLE_NAME,
  16. ALL_TAB_COMMENTS.COMMENTS,
  17. inline(false).as("table_valued_function"),
  18. inline(BigDecimal.ZERO).as(ALL_OBJECTS.OBJECT_ID),
  19. inline("").as(ALL_ARGUMENTS.OVERLOAD))
  20. .from(ALL_TAB_COMMENTS)
  21. .where(ALL_TAB_COMMENTS.OWNER.in(getInputSchemata()))
  22.  
  23. // Materialized views
  24. .unionAll(
  25. select(
  26. ALL_OBJECTS.OWNER,
  27. ALL_OBJECTS.OBJECT_NAME.as("MVIEW_NAME"),
  28. ALL_MVIEW_COMMENTS.COMMENTS,
  29. inline(false).as("table_valued_function"),
  30. inline(BigDecimal.ZERO).as(ALL_OBJECTS.OBJECT_ID),
  31. inline("").as(ALL_ARGUMENTS.OVERLOAD))
  32. .from(ALL_OBJECTS)
  33. .leftOuterJoin(ALL_MVIEW_COMMENTS)
  34. .on(ALL_OBJECTS.OBJECT_NAME.eq(ALL_MVIEW_COMMENTS.MVIEW_NAME))
  35. .and(ALL_OBJECTS.OWNER.eq(ALL_MVIEW_COMMENTS.OWNER))
  36. .where(ALL_OBJECTS.OWNER.in(getInputSchemata()).and(ALL_OBJECTS.OBJECT_TYPE.eq("MATERIALIZED VIEW")))
  37.  
  38. ))
  39.  
  40. // Table-valued functions
  41. .unionAll(
  42. tableValuedFunctions()
  43.  
  44. ? select(
  45. ALL_OBJECTS.OWNER,
  46. ALL_OBJECTS.OBJECT_NAME,
  47. inline(""),
  48. inline(true).as("table_valued_function"),
  49. ALL_OBJECTS.OBJECT_ID,
  50. ALL_ARGUMENTS.OVERLOAD)
  51. .from(ALL_OBJECTS)
  52. .join(ALL_ARGUMENTS)
  53. .on(ALL_OBJECTS.OWNER.eq(ALL_ARGUMENTS.OWNER))
  54. .and(ALL_OBJECTS.OBJECT_NAME.eq(ALL_ARGUMENTS.OBJECT_NAME))
  55. .where(ALL_OBJECTS.OWNER.in(getInputSchemata())
  56. .and(ALL_OBJECTS.OBJECT_TYPE.in("FUNCTION")))
  57. .and(ALL_ARGUMENTS.POSITION.eq(inline(BigDecimal.ZERO)))
  58. .and(ALL_ARGUMENTS.DATA_LEVEL.eq(inline(BigDecimal.ZERO)))
  59. .and(ALL_ARGUMENTS.IN_OUT.eq(inline("OUT")))
  60. .and(ALL_ARGUMENTS.DATA_TYPE.in(inline("VARRAY"), inline("TABLE")))
  61.  
  62. : empty)
  63. .orderBy(1, 2)
  64. .fetch()) {
  65.  
  66. SchemaDefinition schema = getSchema(record.get(ALL_TAB_COMMENTS.OWNER));
  67. String name = record.get(ALL_TAB_COMMENTS.TABLE_NAME);
  68. String comment = record.get(ALL_TAB_COMMENTS.COMMENTS);
  69. boolean tableValuedFunction = record.get("table_valued_function", boolean.class);
  70. BigDecimal objectId = record.get(ALL_OBJECTS.OBJECT_ID);
  71. String overload = record.get(ALL_ARGUMENTS.OVERLOAD);
  72.  
  73. if (tableValuedFunction)
  74. result.add(new OracleTableValuedFunction(schema, null, name, comment, objectId, overload));
  75. else
  76. result.add(new OracleTableDefinition(schema, name, comment));
  77. }
  78.  
  79. return result;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement