You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ab...@apache.org on 2015/01/23 07:51:18 UTC
sqoop git commit: SQOOP-1988: Sqoop2: isNull handling should be moved
to CSVIntermediateDataFormat
Repository: sqoop
Updated Branches:
refs/heads/sqoop2 6c233b9b5 -> d95e7537a
SQOOP-1988: Sqoop2: isNull handling should be moved to CSVIntermediateDataFormat
(Qian Xu via Abraham Elmahrek)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/d95e7537
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/d95e7537
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/d95e7537
Branch: refs/heads/sqoop2
Commit: d95e7537a313a02d86a963063e0313f9ed7c04d9
Parents: 6c233b9
Author: Abraham Elmahrek <ab...@apache.org>
Authored: Thu Jan 22 22:50:39 2015 -0800
Committer: Abraham Elmahrek <ab...@apache.org>
Committed: Thu Jan 22 22:50:39 2015 -0800
----------------------------------------------------------------------
.../sqoop/connector/matcher/LocationMatcher.java | 3 +--
.../org/apache/sqoop/connector/matcher/Matcher.java | 9 ---------
.../apache/sqoop/connector/matcher/NameMatcher.java | 14 ++++----------
.../connector/matcher/TestLocationMatcher.java | 14 --------------
.../sqoop/connector/matcher/TestNameMatcher.java | 16 ----------------
5 files changed, 5 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/d95e7537/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
index 10772d9..917b713 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
@@ -49,8 +49,7 @@ public class LocationMatcher extends Matcher {
for (Column col : getToSchema().getColumnsList()) {
if (i < fields.length) {
- Object value = fields[i];
- out[i] = isNull(value) ? null : value;
+ out[i] = fields[i];
}
// We ran out of fields before we ran out of schema
else {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/d95e7537/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
index 899f734..bd1ef7e 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
@@ -66,15 +66,6 @@ public abstract class Matcher {
return toSchema;
}
- protected boolean isNull(Object value) {
- if (value == null || value.equals("NULL")
- || value.equals("null") || value.equals("'null'")
- || value.equals("")) {
- return true;
- }
- return false;
- }
-
protected void tryFillNullInArrayForUnexpectedColumn(Column column,
Object[] array, int index) throws SqoopException {
if (!column.isNullable()) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/d95e7537/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
index 365cb87..9499a99 100644
--- a/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
+++ b/connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
@@ -59,16 +59,10 @@ public class NameMatcher extends Matcher {
int i = 0;
for (Column toCol : getToSchema().getColumnsList()) {
- boolean assigned = false;
- if (fromColNameIndexMap.containsKey(toCol.getName())) {
- int fromIndex = fromColNameIndexMap.get(toCol.getName());
- if (fromIndex < fields.length) {
- Object value = fields[fromIndex];
- out[i] = isNull(value) ? null : value;
- assigned = true;
- }
- }
- if (!assigned) {
+ Integer fromIndex = fromColNameIndexMap.get(toCol.getName());
+ if (fromIndex != null && fromIndex < fields.length) {
+ out[i] = fields[fromIndex];
+ } else {
tryFillNullInArrayForUnexpectedColumn(toCol, out, i);
}
i++;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/d95e7537/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestLocationMatcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestLocationMatcher.java b/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestLocationMatcher.java
index f23694d..71b35a9 100644
--- a/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestLocationMatcher.java
+++ b/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestLocationMatcher.java
@@ -63,20 +63,6 @@ public class TestLocationMatcher {
}
/**
- * If a field contains any "nullable" value, it should be converted to null.
- */
- @Test
- public void testNullableFieldConvert() {
- matcher = new LocationMatcher(
- SchemaFixture.createSchema("from", 5),
- SchemaFixture.createSchema("to", 5));
- Object[] fields = new Object[] {null, "NULL", "null", "'null'", ""};
-
- Object[] actual = matcher.getMatchingData(fields);
- assertArrayEquals(new Object[] {null, null, null, null, null}, actual);
- }
-
- /**
* If TO schema has more fields than FROM schema, and all of the extra fields
* are "nullable", their values will be set to null.
*/
http://git-wip-us.apache.org/repos/asf/sqoop/blob/d95e7537/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestNameMatcher.java
----------------------------------------------------------------------
diff --git a/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestNameMatcher.java b/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestNameMatcher.java
index 742a35c..9c4b1ba 100644
--- a/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestNameMatcher.java
+++ b/connector/connector-sdk/src/test/java/org/apache/sqoop/connector/matcher/TestNameMatcher.java
@@ -63,22 +63,6 @@ public class TestNameMatcher {
}
/**
- * If a field contains any "nullable" value, it should be converted to null.
- */
- @Test
- public void testNullableFieldConvert() {
- matcher = new NameMatcher(
- SchemaFixture.createSchema("from",
- new String[]{"text1", "text2", "text3", "text4", "text5"}),
- SchemaFixture.createSchema("to",
- new String[]{"text5", "text4", "text2", "text3", "text1"}));
- Object[] fields = new Object[] {null, "NULL", "null", "'null'", ""};
-
- Object[] actual = matcher.getMatchingData(fields);
- assertArrayEquals(new Object[] {null, null, null, null, null}, actual);
- }
-
- /**
* If TO schema has more fields than FROM schema, and all of the extra fields
* are "nullable", their values will be set to null.
*/