public static void determineDependencies(AbstractMetadataRecord p, Command command) { LinkedHashSet<AbstractMetadataRecord> values = new LinkedHashSet<AbstractMetadataRecord>(); collectDependencies(command, values); p.setIncomingObjects(new ArrayList<AbstractMetadataRecord>(values)); if (p instanceof Table) { Table t = (Table)p; for (int i = 0; i < t.getColumns().size(); i++) { LinkedHashSet<AbstractMetadataRecord> columnValues = new LinkedHashSet<AbstractMetadataRecord>(); Column c = t.getColumns().get(i); c.setIncomingObjects(columnValues); determineDependencies(command, c, i, columnValues); } } }
private static void determineDependencies(Command command, Column c, int index, LinkedHashSet<AbstractMetadataRecord> columnValues) { if (command instanceof Query || command instanceof StoredProcedure) { Expression ex = command.getProjectedSymbols().get(index); collectDependencies(ex, columnValues); } else if (command instanceof SetQuery) { determineDependencies(((SetQuery)command).getLeftQuery(), c, index, columnValues); determineDependencies(((SetQuery)command).getRightQuery(), c, index, columnValues); } }
private static void determineDependencies(Command command, Column c, int index, LinkedHashSet<AbstractMetadataRecord> columnValues) { if (command instanceof Query) { Expression ex = command.getProjectedSymbols().get(index); collectDependencies(ex, columnValues); } else if (command instanceof SetQuery) { determineDependencies(((SetQuery)command).getLeftQuery(), c, index, columnValues); determineDependencies(((SetQuery)command).getRightQuery(), c, index, columnValues); } }
private static void determineDependencies(Command command, Column c, int index, LinkedHashSet<AbstractMetadataRecord> columnValues) { if (command instanceof Query || command instanceof StoredProcedure) { Expression ex = command.getProjectedSymbols().get(index); collectDependencies(ex, columnValues); } else if (command instanceof SetQuery) { determineDependencies(((SetQuery)command).getLeftQuery(), c, index, columnValues); determineDependencies(((SetQuery)command).getRightQuery(), c, index, columnValues); } }
public static void determineDependencies(AbstractMetadataRecord p, Command command) { LinkedHashSet<AbstractMetadataRecord> values = new LinkedHashSet<AbstractMetadataRecord>(); collectDependencies(command, values); p.setIncomingObjects(new ArrayList<AbstractMetadataRecord>(values)); if (p instanceof Table) {
public static void determineDependencies(AbstractMetadataRecord p, Command command) { LinkedHashSet<AbstractMetadataRecord> values = new LinkedHashSet<AbstractMetadataRecord>(); collectDependencies(command, values); p.setIncomingObjects(new ArrayList<AbstractMetadataRecord>(values)); if (p instanceof Table) {