[
https://issues.apache.org/jira/browse/SQOOP-1987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Qian Xu resolved SQOOP-1987.
----------------------------
Resolution: Invalid
The MatcherFactory will create suitable Matcher instance, no need to add extra
complexity.
> Sqoop2: Add a NullMatcher
> -------------------------
>
> Key: SQOOP-1987
> URL: https://issues.apache.org/jira/browse/SQOOP-1987
> Project: Sqoop
> Issue Type: Sub-task
> Affects Versions: 1.99.5
> Reporter: Qian Xu
> Assignee: Qian Xu
> Priority: Minor
> Fix For: 2.0.0
>
>
> The {{MatcherFactory}} will create a suitable matcher according to toSchema
> and fromSchema conditions.
> If {{NameMatcher}} is chosen, it means FROM and TO schema should not be
> empty, so the following code is not necessary. Thanks [~jerrychenhf] for
> pointing it out.
> {code}
> public Object[] getMatchingData(Object[] fields) {
> if (getToSchema().isEmpty()) {
> // No destination schema found. No need to convert anything.
> return fields;
> }
> {code}
> If {{LocationMatcher}} is chosen, TO schema can be empty. In code there is a
> rule 0. If TO schema is empty, it will not convert anything.
> {code}
> public Object[] getMatchingData(Object[] fields) {
> if (getToSchema().isEmpty()) {
> // No destination schema found. No need to convert anything.
> return fields;
> }
> {code}
> I'm thinking we can create a third matcher {{NullMatcher}}, which simply
> return input fields as result. This is a tiny optimization thing.
> Second, it'd be better to have precondition check in constructor of both
> matcher classes. So that we know better that when the matcher should be used.
> And related test cases should be updated, if precondition check is added.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)