> On June 26, 2013, 7 p.m., Jarek Cecho wrote:
> > Hi Raghav,
> > thank you very much for taking up this JIRA, appreciated! I'm wondering 
> > what is the reasoning for introducing a new query in the Oracle manager to 
> > retrive the check column type when the type has been already retrieved and 
> > seems to be stored in checkColumnType variable [1]? It seems to me that the 
> > real problem here is that the code in the ImportTool is simply overriding 
> > this type to Timestamp on [2] before passing it to the 
> > datetimeToQueryString [3]. Did you by any chance experiment with removing 
> > this line?
> > 
> > It would be also great if you could include a new test for this, so that we 
> > can be sure that we won't break this in the future again.
> > 
> > Jarcec
> > 
> > Links:
> > 1: 
> > https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/tool/ImportTool.java#L70
> > 2: 
> > https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/tool/ImportTool.java#L286
> > 3: 
> > https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/manager/OracleManager.java#L578
> 
> Raghav Gautam wrote:
>     Hi Jarek,
>     checkColumnType is a private variable which gets assigned in method 
> getMaxColumnId.
>     
> https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/tool/ImportTool.java#L165
>     Since, this method does not get called in case incremental mode is 
> lastmodified. My changes preserve existing behavior for the most part - 
> changing it only for Oracle. Hence, I have added a new method to the 
> OracleManager.
>     
>     I have added a test as per your comment.
>     
>     Thanks,
>     Raghav.

Thank you Raghav for the explanation, it make complete sense to me! I feel that 
introducing new method into the ConnManager class for retrieving one column 
type is a bit of overhaul when we can do simply manager.getColumnTypes(table, 
query).get(options.getIncrementalTestColumn()) [1] to achieve the same with 
existing code. Is there a particular reason why you've choose implementing a 
new method instead?

Links:
1: 
https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/manager/ConnManager.java#L342


- Jarek


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/12032/#review22413
-----------------------------------------------------------


On June 30, 2013, 2:18 p.m., Raghav Gautam wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/12032/
> -----------------------------------------------------------
> 
> (Updated June 30, 2013, 2:18 p.m.)
> 
> 
> Review request for Sqoop.
> 
> 
> Bugs: SQOOP-906
>     https://issues.apache.org/jira/browse/SQOOP-906
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> -------
> 
> Incremental import using lastmodified mode always assumes column type to be 
> TIMESTAMP which is causing issues with Oracle Connector. This patch fixes 
> that.
> 
> 
> Diffs
> -----
> 
>   src/java/org/apache/sqoop/manager/ConnManager.java c9e05da 
>   src/java/org/apache/sqoop/manager/OracleManager.java edc888e 
>   src/java/org/apache/sqoop/tool/ImportTool.java cb800b6 
>   src/test/com/cloudera/sqoop/manager/OracleIncrementalImportTest.java 
> PRE-CREATION 
>   src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java 877d7f8 
> 
> Diff: https://reviews.apache.org/r/12032/diff/
> 
> 
> Testing
> -------
> 
> Unit tests & oracle third party tests are passing. Also tested manually.
> 
> 
> Thanks,
> 
> Raghav Gautam
> 
>

Reply via email to