[ 
https://issues.apache.org/jira/browse/SQOOP-456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13229038#comment-13229038
 ] 

Cheolsoo Park commented on SQOOP-456:
-------------------------------------

The best way to fix the problems is probably to override the getColumnTypes() 
method in OracleManager. If the type is timestamp, but the type name is "DATE", 
the column type should be labelled as date not timestamp. Since 
getColumnTypes() is used everywhere to determine the type of columns in Sqoop, 
if we fixed this method, ClassWriter would generate code that reads dates.
                
> Generated Java class does not distinguish date and timestamp in Oracle DB 
> --------------------------------------------------------------------------
>
>                 Key: SQOOP-456
>                 URL: https://issues.apache.org/jira/browse/SQOOP-456
>             Project: Sqoop
>          Issue Type: Bug
>          Components: codegen
>            Reporter: Cheolsoo Park
>            Assignee: Cheolsoo Park
>            Priority: Minor
>
> In genereated Java class, both date and timestamp are considered as 
> timestamps. For examples, the following getter method is generated for a date 
> column:
> {code:xml} 
> public void readFields(ResultSet __dbResults) throws SQLException {
>   this.__cur_result_set = __dbResults;
>   this.DATA_COL0 = JdbcWritableBridge.readTimestamp(1, __dbResults);
> }
> {code}
> This happens because both date and timestamp is labeled as Types.TIMESTAMP by 
> ConnManager. The fix seems straightforward. In ClassWriter, the new method 
> getColTypeNamesForTable introduced by Bilung at SQOOP-352 should replace 
> getColTypes(). 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to