[ 
https://issues.apache.org/jira/browse/SQOOP-1846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Veena Basavaraj updated SQOOP-1846:
-----------------------------------
    Description: 
I saw this test case I partially was responsible for and it does not make any 
sense to me anymore...

{code}
@Test
  public void testDateTimePrecisionWithCSVTextInObjectArrayOut() {
    Schema schema = new Schema("test");
    schema.addColumn(new DateTime("1"));
    dataFormat.setSchema(schema);
    dataFormat.setTextData("'2014-10-01 12:00:00.000'");
    assertEquals("2014-10-01T12:00:00.000-07:00", 
dataFormat.getObjectData()[0].toString());
  }
{code}

the spec in 
https://cwiki.apache.org/confluence/display/SQOOP/Sqoop2+CSV+Intermediate+representation
 does not mention / say that the date time has to be in iso8601 format. but 
with us using JODA for parsing datetime objects, it becomes imminent that the 
text representation of date-time has to have iso8601 format, see details here

https://github.com/JodaOrg/joda-time/issues/11

FIrst, are we ok with this?

If so, then the following code replacing space to T in CSVIDF should be removed.
{code}

 case DATE_TIME:
      // A datetime string with a space as date-time separator will not be
      // parsed expectedly. The expected separator is "T". See also:
      // https://github.com/JodaOrg/joda-time/issues/11
      String dateTime = removeQuotes(fieldString).replace(" ", "T");
  

{code}

then the test case will be like this, that makes sense now, because the FROM 
connector will set data in 

  was:
I saw this test case I partially was responsible for and it does not make any 
sense to me anymore...

{code}
@Test
  public void testDateTimePrecisionWithCSVTextInObjectArrayOut() {
    Schema schema = new Schema("test");
    schema.addColumn(new DateTime("1"));
    dataFormat.setSchema(schema);
    dataFormat.setTextData("'2014-10-01 12:00:00.000'");
    assertEquals("2014-10-01T12:00:00.000-07:00", 
dataFormat.getObjectData()[0].toString());
  }
{code}

the spec in 
https://cwiki.apache.org/confluence/display/SQOOP/Sqoop2+CSV+Intermediate+representation
 does not mention 


> Does DateTime have be iso8601 compliant ? JODA requires it to be
> ----------------------------------------------------------------
>
>                 Key: SQOOP-1846
>                 URL: https://issues.apache.org/jira/browse/SQOOP-1846
>             Project: Sqoop
>          Issue Type: Sub-task
>          Components: sqoop2-framework
>            Reporter: Veena Basavaraj
>             Fix For: 1.99.5
>
>
> I saw this test case I partially was responsible for and it does not make any 
> sense to me anymore...
> {code}
> @Test
>   public void testDateTimePrecisionWithCSVTextInObjectArrayOut() {
>     Schema schema = new Schema("test");
>     schema.addColumn(new DateTime("1"));
>     dataFormat.setSchema(schema);
>     dataFormat.setTextData("'2014-10-01 12:00:00.000'");
>     assertEquals("2014-10-01T12:00:00.000-07:00", 
> dataFormat.getObjectData()[0].toString());
>   }
> {code}
> the spec in 
> https://cwiki.apache.org/confluence/display/SQOOP/Sqoop2+CSV+Intermediate+representation
>  does not mention / say that the date time has to be in iso8601 format. but 
> with us using JODA for parsing datetime objects, it becomes imminent that the 
> text representation of date-time has to have iso8601 format, see details here
> https://github.com/JodaOrg/joda-time/issues/11
> FIrst, are we ok with this?
> If so, then the following code replacing space to T in CSVIDF should be 
> removed.
> {code}
>  case DATE_TIME:
>       // A datetime string with a space as date-time separator will not be
>       // parsed expectedly. The expected separator is "T". See also:
>       // https://github.com/JodaOrg/joda-time/issues/11
>       String dateTime = removeQuotes(fieldString).replace(" ", "T");
>   
> {code}
> then the test case will be like this, that makes sense now, because the FROM 
> connector will set data in 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to