Repository: sqoop Updated Branches: refs/heads/trunk baf513512 -> 8050107ec
SQOOP-2252: Add default to Avro Schema (Andrew Stevenson via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/8050107e Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/8050107e Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/8050107e Branch: refs/heads/trunk Commit: 8050107ecf0df6d8dc3869f6c82fe84ee098f08a Parents: baf5135 Author: Jarek Jarcec Cecho <[email protected]> Authored: Wed Apr 8 17:57:57 2015 -0700 Committer: Jarek Jarcec Cecho <[email protected]> Committed: Wed Apr 8 17:57:57 2015 -0700 ---------------------------------------------------------------------- src/java/org/apache/sqoop/orm/AvroSchemaGenerator.java | 6 ++++-- src/test/com/cloudera/sqoop/TestAvroExport.java | 2 +- src/test/com/cloudera/sqoop/TestAvroImport.java | 4 ++-- src/test/com/cloudera/sqoop/TestParquetExport.java | 2 +- src/test/com/cloudera/sqoop/TestParquetImport.java | 4 ++-- 5 files changed, 10 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/8050107e/src/java/org/apache/sqoop/orm/AvroSchemaGenerator.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/sqoop/orm/AvroSchemaGenerator.java b/src/java/org/apache/sqoop/orm/AvroSchemaGenerator.java index a73aa13..ed8e8b1 100644 --- a/src/java/org/apache/sqoop/orm/AvroSchemaGenerator.java +++ b/src/java/org/apache/sqoop/orm/AvroSchemaGenerator.java @@ -34,6 +34,8 @@ import com.cloudera.sqoop.SqoopOptions; import com.cloudera.sqoop.manager.ConnManager; import org.apache.sqoop.avro.AvroUtil; +import org.codehaus.jackson.node.NullNode; + /** * Creates an Avro schema to represent a table from a database. */ @@ -64,7 +66,7 @@ public class AvroSchemaGenerator { String cleanedCol = AvroUtil.toAvroIdentifier(ClassWriter.toJavaIdentifier(columnName)); int sqlType = columnTypes.get(columnName); Schema avroSchema = toAvroSchema(sqlType, columnName); - Field field = new Field(cleanedCol, avroSchema, null, null); + Field field = new Field(cleanedCol, avroSchema, null, NullNode.getInstance()); field.addProp("columnName", columnName); field.addProp("sqlType", Integer.toString(sqlType)); fields.add(field); @@ -92,8 +94,8 @@ public class AvroSchemaGenerator { */ public Schema toAvroSchema(int sqlType, String columnName) { List<Schema> childSchemas = new ArrayList<Schema>(); - childSchemas.add(Schema.create(toAvroType(columnName, sqlType))); childSchemas.add(Schema.create(Schema.Type.NULL)); + childSchemas.add(Schema.create(toAvroType(columnName, sqlType))); return Schema.createUnion(childSchemas); } http://git-wip-us.apache.org/repos/asf/sqoop/blob/8050107e/src/test/com/cloudera/sqoop/TestAvroExport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAvroExport.java b/src/test/com/cloudera/sqoop/TestAvroExport.java index db776e6..663828c 100644 --- a/src/test/com/cloudera/sqoop/TestAvroExport.java +++ b/src/test/com/cloudera/sqoop/TestAvroExport.java @@ -338,8 +338,8 @@ public class TestAvroExport extends ExportJobTestCase { final int TOTAL_RECORDS = 1 * 10; List<Schema> childSchemas = new ArrayList<Schema>(); - childSchemas.add(Schema.create(Schema.Type.STRING)); childSchemas.add(Schema.create(Schema.Type.NULL)); + childSchemas.add(Schema.create(Schema.Type.STRING)); Schema schema = Schema.createUnion(childSchemas); ColumnGenerator gen0 = colGenerator(null, schema, null, "VARCHAR(64)"); ColumnGenerator gen1 = colGenerator("s", schema, "s", "VARCHAR(64)"); http://git-wip-us.apache.org/repos/asf/sqoop/blob/8050107e/src/test/com/cloudera/sqoop/TestAvroImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestAvroImport.java b/src/test/com/cloudera/sqoop/TestAvroImport.java index 08b8aa9..af83ce0 100644 --- a/src/test/com/cloudera/sqoop/TestAvroImport.java +++ b/src/test/com/cloudera/sqoop/TestAvroImport.java @@ -230,8 +230,8 @@ public class TestAvroImport extends ImportJobTestCase { private void checkField(Field field, String name, Type type) { assertEquals(name, field.name()); assertEquals(Schema.Type.UNION, field.schema().getType()); - assertEquals(type, field.schema().getTypes().get(0).getType()); - assertEquals(Schema.Type.NULL, field.schema().getTypes().get(1).getType()); + assertEquals(Schema.Type.NULL, field.schema().getTypes().get(0).getType()); + assertEquals(type, field.schema().getTypes().get(1).getType()); } public void testNullableAvroImport() throws IOException, SQLException { http://git-wip-us.apache.org/repos/asf/sqoop/blob/8050107e/src/test/com/cloudera/sqoop/TestParquetExport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestParquetExport.java b/src/test/com/cloudera/sqoop/TestParquetExport.java index 9065daf..86b40fb 100644 --- a/src/test/com/cloudera/sqoop/TestParquetExport.java +++ b/src/test/com/cloudera/sqoop/TestParquetExport.java @@ -320,8 +320,8 @@ public class TestParquetExport extends ExportJobTestCase { final int TOTAL_RECORDS = 1 * 10; List<Schema> childSchemas = new ArrayList<Schema>(); - childSchemas.add(Schema.create(Schema.Type.STRING)); childSchemas.add(Schema.create(Schema.Type.NULL)); + childSchemas.add(Schema.create(Schema.Type.STRING)); Schema schema = Schema.createUnion(childSchemas); ColumnGenerator gen0 = colGenerator(null, schema, null, "VARCHAR(64)"); ColumnGenerator gen1 = colGenerator("s", schema, "s", "VARCHAR(64)"); http://git-wip-us.apache.org/repos/asf/sqoop/blob/8050107e/src/test/com/cloudera/sqoop/TestParquetImport.java ---------------------------------------------------------------------- diff --git a/src/test/com/cloudera/sqoop/TestParquetImport.java b/src/test/com/cloudera/sqoop/TestParquetImport.java index 21a2fec..ae5427c 100644 --- a/src/test/com/cloudera/sqoop/TestParquetImport.java +++ b/src/test/com/cloudera/sqoop/TestParquetImport.java @@ -211,8 +211,8 @@ public class TestParquetImport extends ImportJobTestCase { private void checkField(Field field, String name, Type type) { assertEquals(name, field.name()); assertEquals(Type.UNION, field.schema().getType()); - assertEquals(type, field.schema().getTypes().get(0).getType()); - assertEquals(Type.NULL, field.schema().getTypes().get(1).getType()); + assertEquals(Type.NULL, field.schema().getTypes().get(0).getType()); + assertEquals(type, field.schema().getTypes().get(1).getType()); } }
