@Override public boolean equals(Object that) { if (that == null) return false; if (that instanceof FieldSchema) return this.equals((FieldSchema)that); return false; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof BaseColumnInfo)) { return false; } BaseColumnInfo ci = (BaseColumnInfo) obj; return (column == null ? ci.column == null : column.equals(ci.column)) && (tabAlias == null ? ci.tabAlias == null : tabAlias.equals(ci.tabAlias)); } }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof BaseColumnInfo)) { return false; } BaseColumnInfo ci = (BaseColumnInfo) obj; return (column == null ? ci.column == null : column.equals(ci.column)) && (tabAlias == null ? ci.tabAlias == null : tabAlias.equals(ci.tabAlias)); } }
@Test public void testCreateTableIfNotExists() throws Exception { hcatDriver.run("drop table " + TBL_NAME); hcatDriver.run("create table " + TBL_NAME + " (a int) stored as RCFILE"); Table tbl = client.getTable(Warehouse.DEFAULT_DATABASE_NAME, TBL_NAME); List<FieldSchema> cols = tbl.getSd().getCols(); assertEquals(1, cols.size()); assertTrue(cols.get(0).equals(new FieldSchema("a", "int", null))); assertEquals(RCFileInputFormat.class.getName(), tbl.getSd().getInputFormat()); assertEquals(RCFileOutputFormat.class.getName(), tbl.getSd().getOutputFormat()); CommandProcessorResponse resp = hcatDriver.run("create table if not exists junit_sem_analysis (a int) stored as RCFILE"); assertEquals(0, resp.getResponseCode()); assertNull(resp.getErrorMessage()); tbl = client.getTable(Warehouse.DEFAULT_DATABASE_NAME, TBL_NAME); cols = tbl.getSd().getCols(); assertEquals(1, cols.size()); assertTrue(cols.get(0).equals(new FieldSchema("a", "int", null))); assertEquals(RCFileInputFormat.class.getName(), tbl.getSd().getInputFormat()); assertEquals(RCFileOutputFormat.class.getName(), tbl.getSd().getOutputFormat()); hcatDriver.run("drop table junit_sem_analysis"); }
@Test public void testAddReplaceCols() throws Exception { hcatDriver.run("drop table junit_sem_analysis"); hcatDriver.run("create table junit_sem_analysis (a int, c string) partitioned by (b string) stored as RCFILE"); CommandProcessorResponse response = hcatDriver.run("alter table junit_sem_analysis replace columns (a1 tinyint)"); assertEquals(0, response.getResponseCode()); response = hcatDriver.run("alter table junit_sem_analysis add columns (d tinyint)"); assertEquals(0, response.getResponseCode()); assertNull(response.getErrorMessage()); response = hcatDriver.run("describe extended junit_sem_analysis"); assertEquals(0, response.getResponseCode()); Table tbl = client.getTable(Warehouse.DEFAULT_DATABASE_NAME, TBL_NAME); List<FieldSchema> cols = tbl.getSd().getCols(); assertEquals(2, cols.size()); assertTrue(cols.get(0).equals(new FieldSchema("a1", "tinyint", null))); assertTrue(cols.get(1).equals(new FieldSchema("d", "tinyint", null))); hcatDriver.run("drop table junit_sem_analysis"); }
@Override public boolean equals(Object that) { if (that == null) return false; if (that instanceof FieldSchema) return this.equals((FieldSchema)that); return false; }
@Override public boolean equals(Object that) { if (that == null) return false; if (that instanceof FieldSchema) return this.equals((FieldSchema)that); return false; }
@Override public boolean equals(Object that) { if (that == null) return false; if (that instanceof FieldSchema) return this.equals((FieldSchema)that); return false; }
@Override public boolean equals(Object that) { if (that == null) return false; if (that instanceof FieldSchema) return this.equals((FieldSchema)that); return false; }
static boolean areSameColumns(List<FieldSchema> oldCols, List<FieldSchema> newCols) { if (oldCols.size() != newCols.size()) { return false; } else { for (int i = 0; i < oldCols.size(); i++) { FieldSchema oldCol = oldCols.get(i); FieldSchema newCol = newCols.get(i); if(!oldCol.equals(newCol)) { return false; } } } return true; }
static boolean areSameColumns(List<FieldSchema> oldCols, List<FieldSchema> newCols) { if (oldCols.size() != newCols.size()) { return false; } else { for (int i = 0; i < oldCols.size(); i++) { FieldSchema oldCol = oldCols.get(i); FieldSchema newCol = newCols.get(i); if(!oldCol.equals(newCol)) { return false; } } } return true; }