private Schema buildAvroSchema(ColumnGenerator... extraCols) { List<Field> fields = new ArrayList<Field>(); fields.add(buildAvroField("id", Schema.Type.INT)); fields.add(buildAvroField("msg", Schema.Type.STRING)); int colNum = 0; // Issue [SQOOP-2846] if (null != extraCols) { for (ColumnGenerator gen : extraCols) { if (gen.getColumnAvroSchema() != null) { fields.add(buildAvroField(forIdx(colNum++), gen.getColumnAvroSchema())); } } } Schema schema = Schema.createRecord("myschema", null, null, false); schema.setFields(fields); return schema; }
int colNum = 0; for (ColumnGenerator gen : extraColumns) { if (gen.getColumnType() != null) { sb.append(", " + forIdx(colNum++) + " " + gen.getColumnType());
/** Verify that for the max and min values of the 'id' column, the values for a given column meet the expected values. */ protected void assertColMinAndMax(String colName, ColumnGenerator generator) throws SQLException { Connection conn = getConnection(); int minId = getMinRowId(conn); int maxId = getMaxRowId(conn); LOG.info("Checking min/max for column " + colName + " with type " + generator.getColumnType()); Object expectedMin = generator.getVerifyValue(minId); Object expectedMax = generator.getVerifyValue(maxId); assertColValForRowId(minId, colName, expectedMin); assertColValForRowId(maxId, colName, expectedMax); }
private void addExtraColumns(GenericRecord record, int rowNum, ColumnGenerator[] extraCols) { int colNum = 0; // Issue [SQOOP-2846] if (null != extraCols) { for (ColumnGenerator gen : extraCols) { if (gen.getColumnAvroSchema() != null) { record.put(forIdx(colNum++), gen.getExportValue(rowNum)); } } } }