Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- protected List<TableDefinition> getTables0() throws SQLException {
- List<TableDefinition> result = new ArrayList<TableDefinition>();
- Select<Record6<String, String, String, Boolean, BigDecimal, String>> empty =
- select(inline(""), inline(""), inline(""), inline(false), inline(BigDecimal.ZERO), inline(""))
- .where(falseCondition());
- for (Record record : create()
- .select()
- // Ordinary tables
- .from(
- select(
- ALL_TAB_COMMENTS.OWNER,
- ALL_TAB_COMMENTS.TABLE_NAME,
- ALL_TAB_COMMENTS.COMMENTS,
- inline(false).as("table_valued_function"),
- inline(BigDecimal.ZERO).as(ALL_OBJECTS.OBJECT_ID),
- inline("").as(ALL_ARGUMENTS.OVERLOAD))
- .from(ALL_TAB_COMMENTS)
- .where(ALL_TAB_COMMENTS.OWNER.in(getInputSchemata()))
- // Materialized views
- .unionAll(
- select(
- ALL_OBJECTS.OWNER,
- ALL_OBJECTS.OBJECT_NAME.as("MVIEW_NAME"),
- ALL_MVIEW_COMMENTS.COMMENTS,
- inline(false).as("table_valued_function"),
- inline(BigDecimal.ZERO).as(ALL_OBJECTS.OBJECT_ID),
- inline("").as(ALL_ARGUMENTS.OVERLOAD))
- .from(ALL_OBJECTS)
- .leftOuterJoin(ALL_MVIEW_COMMENTS)
- .on(ALL_OBJECTS.OBJECT_NAME.eq(ALL_MVIEW_COMMENTS.MVIEW_NAME))
- .and(ALL_OBJECTS.OWNER.eq(ALL_MVIEW_COMMENTS.OWNER))
- .where(ALL_OBJECTS.OWNER.in(getInputSchemata()).and(ALL_OBJECTS.OBJECT_TYPE.eq("MATERIALIZED VIEW")))
- ))
- // Table-valued functions
- .unionAll(
- tableValuedFunctions()
- ? select(
- ALL_OBJECTS.OWNER,
- ALL_OBJECTS.OBJECT_NAME,
- inline(""),
- inline(true).as("table_valued_function"),
- ALL_OBJECTS.OBJECT_ID,
- ALL_ARGUMENTS.OVERLOAD)
- .from(ALL_OBJECTS)
- .join(ALL_ARGUMENTS)
- .on(ALL_OBJECTS.OWNER.eq(ALL_ARGUMENTS.OWNER))
- .and(ALL_OBJECTS.OBJECT_NAME.eq(ALL_ARGUMENTS.OBJECT_NAME))
- .where(ALL_OBJECTS.OWNER.in(getInputSchemata())
- .and(ALL_OBJECTS.OBJECT_TYPE.in("FUNCTION")))
- .and(ALL_ARGUMENTS.POSITION.eq(inline(BigDecimal.ZERO)))
- .and(ALL_ARGUMENTS.DATA_LEVEL.eq(inline(BigDecimal.ZERO)))
- .and(ALL_ARGUMENTS.IN_OUT.eq(inline("OUT")))
- .and(ALL_ARGUMENTS.DATA_TYPE.in(inline("VARRAY"), inline("TABLE")))
- : empty)
- .orderBy(1, 2)
- .fetch()) {
- SchemaDefinition schema = getSchema(record.get(ALL_TAB_COMMENTS.OWNER));
- String name = record.get(ALL_TAB_COMMENTS.TABLE_NAME);
- String comment = record.get(ALL_TAB_COMMENTS.COMMENTS);
- boolean tableValuedFunction = record.get("table_valued_function", boolean.class);
- BigDecimal objectId = record.get(ALL_OBJECTS.OBJECT_ID);
- String overload = record.get(ALL_ARGUMENTS.OVERLOAD);
- if (tableValuedFunction)
- result.add(new OracleTableValuedFunction(schema, null, name, comment, objectId, overload));
- else
- result.add(new OracleTableDefinition(schema, name, comment));
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement