package org.opencloudb.mpp; /** * join relation * * @author wuzhih * */ public class JoinRel { public JoinRel(String leftTable, String columnNameA, String rightTable, String columnNameB) { tableA=leftTable; columnA=columnNameA.toUpperCase(); tableB=rightTable; columnB=columnNameB.toUpperCase(); joinSQLExp=tableA+'.'+columnA+'='+tableB+'.'+columnB; } public final String joinSQLExp; public final String tableA; public final String columnA; public final String tableB; public final String columnB; @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((columnA == null) ? 0 : columnA.hashCode()); result = prime * result + ((columnB == null) ? 0 : columnB.hashCode()); result = prime * result + ((tableA == null) ? 0 : tableA.hashCode()); result = prime * result + ((tableB == null) ? 0 : tableB.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; JoinRel other = (JoinRel) obj; if (columnA == null) { if (other.columnA != null) return false; } else if (!columnA.equals(other.columnA)) return false; if (columnB == null) { if (other.columnB != null) return false; } else if (!columnB.equals(other.columnB)) return false; if (tableA == null) { if (other.tableA != null) return false; } else if (!tableA.equals(other.tableA)) return false; if (tableB == null) { if (other.tableB != null) return false; } else if (!tableB.equals(other.tableB)) return false; return true; } @Override public String toString() { return "JoinRel [tableA=" + tableA + ", columnA=" + columnA + ", tableB=" + tableB + ", columnB=" + columnB + "]"; } }