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());
   }
 
 }

Reply via email to