@Override public boolean matches(JoinDesc join1, JoinDesc join2) { if (join1 == null) { return join2 == null; } else if (join2 == null) { return false; } else { if (!join1.getType().equalsIgnoreCase(join2.getType())) return false; // note pk/fk are sorted, sortByFK() if (!this.columnDescEquals(join1.getForeignKeyColumns(), join2.getForeignKeyColumns())) return false; if (!this.columnDescEquals(join1.getPrimaryKeyColumns(), join2.getPrimaryKeyColumns())) return false; return true; } }
@Override public boolean matches(JoinDesc join1, JoinDesc join2) { if (join1 == null) { return join2 == null; } else if (join2 == null) { return false; } else { if (!join1.getType().equalsIgnoreCase(join2.getType())) return false; // note pk/fk are sorted, sortByFK() if (!this.columnDescEquals(join1.getForeignKeyColumns(), join2.getForeignKeyColumns())) return false; if (!this.columnDescEquals(join1.getPrimaryKeyColumns(), join2.getPrimaryKeyColumns())) return false; return true; } }
private boolean columnDescEquals(TblColRef[] a, TblColRef[] b) { if (a.length != b.length) return false; for (int i = 0; i < a.length; i++) { if (columnDescEquals(a[i].getColumnDesc(), b[i].getColumnDesc()) == false) return false; } return true; }
private boolean columnDescEquals(TblColRef[] a, TblColRef[] b) { if (a.length != b.length) return false; for (int i = 0; i < a.length; i++) { if (columnDescEquals(a[i].getColumnDesc(), b[i].getColumnDesc()) == false) return false; } return true; }