You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2014/11/09 21:01:47 UTC
svn commit: r1637732 - in /pig/trunk: ./
contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/
contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/
contrib/piggybank/java/src/main/...
Author: daijy
Date: Sun Nov 9 20:01:47 2014
New Revision: 1637732
URL: http://svn.apache.org/r1637732
Log:
PIG-4267: ToDate has incorrect timezone offsets
Modified:
pig/trunk/CHANGES.txt
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOHelper.java
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/fetch/FetchLauncher.java
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapBase.java
pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapReduce.java
pig/trunk/src/org/apache/pig/newplan/logical/rules/ConstantCalculator.java
pig/trunk/test/org/apache/pig/test/TestBuiltin.java
pig/trunk/test/org/apache/pig/test/TestConversions.java
pig/trunk/test/org/apache/pig/test/TestDefaultDateTimeZone.java
pig/trunk/test/org/apache/pig/test/TestOrderBy.java
pig/trunk/test/org/apache/pig/test/TestStore.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Sun Nov 9 20:01:47 2014
@@ -118,6 +118,8 @@ OPTIMIZATIONS
BUG FIXES
+PIG-4267: ToDate has incorrect timezone offsets (bridiver via daijy)
+
PIG-4319: Make LoadPredicatePushdown InterfaceAudience.Private till PIG-4093 (rohini)
PIG-4312: TestStreamingUDF tez mode leave orphan process on Windows (daijy)
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java Sun Nov 9 20:01:47 2014
@@ -79,8 +79,6 @@ public class CustomFormatToISO extends E
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
String date = input.get(0).toString();
String format = input.get(1).toString();
@@ -89,7 +87,7 @@ public class CustomFormatToISO extends E
DateTimeFormatter parser = DateTimeFormat.forPattern(format);
DateTime result;
try {
- result = parser.parseDateTime(date);
+ result = parser.withOffsetParsed().parseDateTime(date);
} catch(Exception e) {
return null;
}
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java Sun Nov 9 20:01:47 2014
@@ -81,9 +81,6 @@ public class ISOToUnix extends EvalFunc<
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
-
DateTime result = new DateTime(input.get(0).toString());
return result.getMillis();
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java Sun Nov 9 20:01:47 2014
@@ -81,9 +81,6 @@ public class UnixToISO extends EvalFunc<
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
-
DateTime result = new DateTime(DataType.toLong(input.get(0)));
return result.toString();
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java Sun Nov 9 20:01:47 2014
@@ -96,8 +96,6 @@ public class ISODaysBetween extends Eval
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
DateTime startDate = new DateTime(input.get(0).toString());
DateTime endDate = new DateTime(input.get(1).toString());
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java Sun Nov 9 20:01:47 2014
@@ -92,8 +92,6 @@ public class ISOHoursBetween extends Eva
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
DateTime startDate = new DateTime(input.get(0).toString());
DateTime endDate = new DateTime(input.get(1).toString());
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java Sun Nov 9 20:01:47 2014
@@ -92,8 +92,6 @@ public class ISOMinutesBetween extends E
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
DateTime startDate = new DateTime(input.get(0).toString());
DateTime endDate = new DateTime(input.get(1).toString());
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java Sun Nov 9 20:01:47 2014
@@ -95,8 +95,6 @@ public class ISOMonthsBetween extends Ev
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
DateTime startDate = new DateTime(input.get(0).toString());
DateTime endDate = new DateTime(input.get(1).toString());
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java Sun Nov 9 20:01:47 2014
@@ -91,8 +91,6 @@ public class ISOSecondsBetween extends E
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
DateTime startDate = new DateTime(input.get(0).toString());
DateTime endDate = new DateTime(input.get(1).toString());
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java Sun Nov 9 20:01:47 2014
@@ -92,8 +92,6 @@ public class ISOYearsBetween extends Eva
if (input.get(0) == null || input.get(1) == null) {
return null;
}
- // Set the time to default or the output is in UTC
- DateTimeZone.setDefault(DateTimeZone.UTC);
DateTime startDate = new DateTime(input.get(0).toString());
DateTime endDate = new DateTime(input.get(1).toString());
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOHelper.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOHelper.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOHelper.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOHelper.java Sun Nov 9 20:01:47 2014
@@ -47,26 +47,17 @@ public class ISOHelper {
* with optional time zone.
* @return a DateTime representing the date,
* with DateTimeZone set to the time zone parsed from the string,
- * or else DateTimeZone.defaultTimeZone() if one is set,
+ * or else DateTimeZone.getDefault() if one is set,
* or else UTC.
* @throws ExecException if input is a malformed or empty tuple.
* This method is public so that it can be tested in TestTruncateDateTime.
* Otherwise, it would have "package" visibility.
*/
public static DateTime parseDateTime(Tuple input) throws ExecException {
-
- // Save previous default time zone for restore later.
- DateTimeZone previousDefaultTimeZone = DateTimeZone.getDefault();
-
- // Temporarily set default time zone to UTC, for this parse.
- DateTimeZone.setDefault(DEFAULT_DATE_TIME_ZONE);
String isoDateString = input.get(0).toString();
DateTime dt = ISODateTimeFormat.dateTimeParser().withOffsetParsed().parseDateTime(isoDateString);
- // restore previous default TimeZone.
- DateTimeZone.setDefault(previousDefaultTimeZone);
-
return dt;
}
Modified: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java (original)
+++ pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java Sun Nov 9 20:01:47 2014
@@ -23,10 +23,30 @@ import org.apache.pig.data.TupleFactory;
import org.apache.pig.piggybank.evaluation.datetime.convert.CustomFormatToISO;
import org.apache.pig.piggybank.evaluation.datetime.convert.ISOToUnix;
import org.apache.pig.piggybank.evaluation.datetime.convert.UnixToISO;
+import org.joda.time.DateTimeZone;
+
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
public class TestConvertDateTime {
+ private DateTimeZone currentDTZ, defaultDTZ;
+
+ @Before
+ public void setUp() throws Exception {
+ currentDTZ = DateTimeZone.getDefault();
+
+ // set the timezone to somethere other than UTC
+ defaultDTZ = DateTimeZone.forID("+08:00");
+ DateTimeZone.setDefault(defaultDTZ);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ DateTimeZone.setDefault(currentDTZ);
+ }
+
@Test
public void testBadFormat() throws Exception {
Tuple t1 = TupleFactory.getInstance().newTuple(2);
@@ -35,7 +55,7 @@ public class TestConvertDateTime {
CustomFormatToISO convert = new CustomFormatToISO();
assertNull("Input that doesn't match format should result in null", convert.exec(t1));
t1.set(0, "July, 2012");
- assertEquals("Matching format should work correctly", "2012-07-01T00:00:00.000Z", convert.exec(t1));
+ assertEquals("Matching format should work correctly", "2012-07-01T00:00:00.000+08:00", convert.exec(t1));
}
@Test
@@ -48,7 +68,8 @@ public class TestConvertDateTime {
UnixToISO func = new UnixToISO();
String iso = func.exec(t1);
- assertTrue(iso.equals("2009-01-07T01:07:01.000Z"));
+ assertEquals("2009-01-07T09:07:01.000+08:00", iso);
+ assertEquals("Should not change the default timezone", defaultDTZ, DateTimeZone.getDefault());
}
@Test
@@ -61,7 +82,7 @@ public class TestConvertDateTime {
Long unix = func2.exec(t2);
assertTrue(unix == 1231290421000L);
-
+ assertEquals("Should not change the default timezone", defaultDTZ, DateTimeZone.getDefault());
}
@Test
@@ -73,6 +94,20 @@ public class TestConvertDateTime {
CustomFormatToISO func = new CustomFormatToISO();
String iso = func.exec(t);
- assertTrue(iso.equals("2010-10-10T00:00:00.000Z"));
+ assertEquals("2010-10-10T00:00:00.000+08:00", iso);
}
+
+ @Test
+ public void testCustomFormatToISOWithTimezone() throws Exception {
+
+ Tuple t = TupleFactory.getInstance().newTuple(2);
+ t.set(0, "10/10/2010 Z");
+ t.set(1, "dd/MM/yyyy Z");
+ CustomFormatToISO func = new CustomFormatToISO();
+ String iso = func.exec(t);
+
+ assertEquals("2010-10-10T00:00:00.000Z", iso);
+ assertEquals("Should not change the default timezone", defaultDTZ, DateTimeZone.getDefault());
+ }
+
}
Modified: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java (original)
+++ pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java Sun Nov 9 20:01:47 2014
@@ -42,10 +42,8 @@ public class TestTruncateDateTime extend
Tuple t1 = TupleFactory.getInstance().newTuple(1);
t1.set(0, "2010-04-15T08:11:33.020");
- // ISOHelper's internal default timezone is preferred over previous default DateTimeZone.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(2010, 4, 15, 8, 11, 33, 20, ISOHelper.DEFAULT_DATE_TIME_ZONE));
+ assertEquals(new DateTime(2010, 4, 15, 8, 11, 33, 20, testDefaultDateTimeZone), ISOHelper.parseDateTime(t1));
- // Calling parseDate restores DateTimeZone.default before it returns.
assertTrue(testDefaultDateTimeZone.equals(DateTimeZone.getDefault()));
// Restore pre-test default time zone.
@@ -59,7 +57,7 @@ public class TestTruncateDateTime extend
t1.set(0, "2010-04-15T08:11:33.020Z");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(2010, 4, 15, 8, 11, 33, 20, DateTimeZone.UTC));
+ assertEquals(new DateTime(2010, 4, 15, 8, 11, 33, 20, DateTimeZone.UTC), ISOHelper.parseDateTime(t1));
// Time zone is strictly preserved. Parsed date is not equal to "simultaneous" datetime in different time zone.
assertFalse(ISOHelper.parseDateTime(t1).equals(new DateTime(2010, 4, 15, 0, 11, 33, 20, DateTimeZone.forOffsetHours(-8))));
@@ -72,14 +70,14 @@ public class TestTruncateDateTime extend
t1.set(0, "2010-04-15T08:11:33.020-08:00");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(2010, 4, 15, 8, 11, 33, 20, DateTimeZone.forOffsetHours(-8)));
+ assertEquals(new DateTime(2010, 4, 15, 8, 11, 33, 20, DateTimeZone.forOffsetHours(-8)), ISOHelper.parseDateTime(t1));
// Time zone is strictly preserved. Parsed date is not equal to "simultaneous" datetime in different time zone.
assertFalse(ISOHelper.parseDateTime(t1).equals(new DateTime(2010, 4, 15, 16, 11, 33, 20, DateTimeZone.UTC)));
}
/**
- * When no time zone is specified at all, UTC is presumed.
+ * When no time zone is specified at all, we use the default.
* @throws Exception
*/
@Test
@@ -89,7 +87,7 @@ public class TestTruncateDateTime extend
t1.set(0, "2010-04-15T08:11:33.020");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(2010, 4, 15, 8, 11, 33, 20, DateTimeZone.UTC));
+ assertEquals(new DateTime(2010, 4, 15, 8, 11, 33, 20, DateTimeZone.getDefault()), ISOHelper.parseDateTime(t1));
}
/**
@@ -112,7 +110,7 @@ public class TestTruncateDateTime extend
/**
* Parsing ISO date with no time and no time zone works.
- * Time defaults to midnight in UTC.
+ * Time defaults to midnight in default timezone.
* @throws Exception
*/
@Test
@@ -122,7 +120,7 @@ public class TestTruncateDateTime extend
t1.set(0, "2010-04-15");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(2010, 4, 15, 0, 0, 0, 0, DateTimeZone.UTC));
+ assertEquals(new DateTime(2010, 4, 15, 0, 0, 0, 0, DateTimeZone.getDefault()), ISOHelper.parseDateTime(t1));
}
/**
@@ -137,7 +135,7 @@ public class TestTruncateDateTime extend
t1.set(0, "T08:11:33.020Z");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(1970, 1, 1, 8, 11, 33, 20, DateTimeZone.UTC));
+ assertEquals(new DateTime(1970, 1, 1, 8, 11, 33, 20, DateTimeZone.UTC), ISOHelper.parseDateTime(t1));
}
/**
@@ -152,7 +150,7 @@ public class TestTruncateDateTime extend
t1.set(0, "T08:11:33.020-0800");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(1970, 1, 1, 8, 11, 33, 20, DateTimeZone.forOffsetHours(-8)));
+ assertEquals(new DateTime(1970, 1, 1, 8, 11, 33, 20, DateTimeZone.forOffsetHours(-8)), ISOHelper.parseDateTime(t1));
}
/**
@@ -167,7 +165,7 @@ public class TestTruncateDateTime extend
t1.set(0, "T08:11:33.020Z");
// Time zone is preserved.
- assertEquals(ISOHelper.parseDateTime(t1), new DateTime(1970, 1, 1, 8, 11, 33, 20, DateTimeZone.UTC));
+ assertEquals(new DateTime(1970, 1, 1, 8, 11, 33, 20, DateTimeZone.UTC), ISOHelper.parseDateTime(t1));
}
@Test
@@ -179,7 +177,7 @@ public class TestTruncateDateTime extend
ISOToYear func = new ISOToYear();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-01-01T00:00:00.000Z");
+ assertEquals("2010-01-01T00:00:00.000Z", truncated);
}
@Test
@@ -191,7 +189,7 @@ public class TestTruncateDateTime extend
ISOToMonth func = new ISOToMonth();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-01T00:00:00.000Z");
+ assertEquals("2010-04-01T00:00:00.000Z", truncated);
}
@Test
@@ -203,7 +201,7 @@ public class TestTruncateDateTime extend
ISOToWeek func = new ISOToWeek();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-12T00:00:00.000Z");
+ assertEquals("2010-04-12T00:00:00.000Z", truncated);
}
@Test
@@ -215,7 +213,7 @@ public class TestTruncateDateTime extend
ISOToDay func = new ISOToDay();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T00:00:00.000Z");
+ assertEquals("2010-04-15T00:00:00.000Z", truncated);
}
@Test
@@ -227,7 +225,7 @@ public class TestTruncateDateTime extend
ISOToHour func = new ISOToHour();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T08:00:00.000Z");
+ assertEquals("2010-04-15T08:00:00.000Z", truncated);
}
@Test
@@ -239,7 +237,7 @@ public class TestTruncateDateTime extend
ISOToMinute func = new ISOToMinute();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T08:11:00.000Z");
+ assertEquals("2010-04-15T08:11:00.000Z", truncated);
}
@Test
@@ -251,7 +249,7 @@ public class TestTruncateDateTime extend
ISOToSecond func = new ISOToSecond();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T08:11:33.000Z");
+ assertEquals("2010-04-15T08:11:33.000Z", truncated);
}
@@ -264,7 +262,7 @@ public class TestTruncateDateTime extend
ISOToYear func = new ISOToYear();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-01-01T00:00:00.000-08:00");
+ assertEquals("2010-01-01T00:00:00.000-08:00", truncated);
}
@Test
@@ -276,7 +274,7 @@ public class TestTruncateDateTime extend
ISOToMonth func = new ISOToMonth();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-01T00:00:00.000-08:00");
+ assertEquals("2010-04-01T00:00:00.000-08:00", truncated);
}
@Test
@@ -288,7 +286,7 @@ public class TestTruncateDateTime extend
ISOToWeek func = new ISOToWeek();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-12T00:00:00.000-08:00");
+ assertEquals("2010-04-12T00:00:00.000-08:00", truncated);
}
@Test
@@ -300,7 +298,7 @@ public class TestTruncateDateTime extend
ISOToDay func = new ISOToDay();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T00:00:00.000-08:00");
+ assertEquals("2010-04-15T00:00:00.000-08:00", truncated);
}
@Test
@@ -312,7 +310,7 @@ public class TestTruncateDateTime extend
ISOToHour func = new ISOToHour();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T08:00:00.000-08:00");
+ assertEquals("2010-04-15T08:00:00.000-08:00", truncated);
}
@Test
@@ -324,7 +322,7 @@ public class TestTruncateDateTime extend
ISOToMinute func = new ISOToMinute();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T08:11:00.000-08:00");
+ assertEquals("2010-04-15T08:11:00.000-08:00", truncated);
}
@Test
@@ -336,7 +334,7 @@ public class TestTruncateDateTime extend
ISOToSecond func = new ISOToSecond();
String truncated = func.exec(t1);
- assertEquals(truncated, "2010-04-15T08:11:33.000-08:00");
+ assertEquals("2010-04-15T08:11:33.000-08:00", truncated);
}
-}
\ No newline at end of file
+}
Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/fetch/FetchLauncher.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/fetch/FetchLauncher.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/fetch/FetchLauncher.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/fetch/FetchLauncher.java Sun Nov 9 20:01:47 2014
@@ -143,8 +143,8 @@ public class FetchLauncher {
PigMapReduce.sJobConfInternal.set(conf);
String dtzStr = conf.get("pig.datetime.default.tz");
if (dtzStr != null && dtzStr.length() > 0) {
- // ensure that the internal timezone is uniformly in UTC offset style
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.forID(dtzStr).getOffset(null)));
+ // don't use offsets because it breaks across DST/Standard Time
+ DateTimeZone.setDefault(DateTimeZone.forID(dtzStr));
}
boolean aggregateWarning = "true".equalsIgnoreCase(conf.get("aggregate.warning"));
Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapBase.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapBase.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapBase.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapBase.java Sun Nov 9 20:01:47 2014
@@ -217,8 +217,8 @@ public abstract class PigGenericMapBase
String dtzStr = PigMapReduce.sJobConfInternal.get().get("pig.datetime.default.tz");
if (dtzStr != null && dtzStr.length() > 0) {
- // ensure that the internal timezone is uniformly in UTC offset style
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.forID(dtzStr).getOffset(null)));
+ // don't use offsets because it breaks across DST/Standard Time
+ DateTimeZone.setDefault(DateTimeZone.forID(dtzStr));
}
}
Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapReduce.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapReduce.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapReduce.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/PigGenericMapReduce.java Sun Nov 9 20:01:47 2014
@@ -364,8 +364,8 @@ public class PigGenericMapReduce {
String dtzStr = PigMapReduce.sJobConfInternal.get().get("pig.datetime.default.tz");
if (dtzStr != null && dtzStr.length() > 0) {
- // ensure that the internal timezone is uniformly in UTC offset style
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.forID(dtzStr).getOffset(null)));
+ // don't use offsets because it breaks across DST/Standard Time
+ DateTimeZone.setDefault(DateTimeZone.forID(dtzStr));
}
}
Modified: pig/trunk/src/org/apache/pig/newplan/logical/rules/ConstantCalculator.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/rules/ConstantCalculator.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/newplan/logical/rules/ConstantCalculator.java (original)
+++ pig/trunk/src/org/apache/pig/newplan/logical/rules/ConstantCalculator.java Sun Nov 9 20:01:47 2014
@@ -49,6 +49,7 @@ import org.apache.pig.newplan.logical.op
import org.apache.pig.newplan.logical.relational.LogicalRelationalOperator;
import org.apache.pig.newplan.optimizer.Rule;
import org.apache.pig.newplan.optimizer.Transformer;
+import org.joda.time.DateTimeZone;
public abstract class ConstantCalculator extends Rule {
private List<LogicalRelationalOperator> processedOperators = new ArrayList<LogicalRelationalOperator>();
@@ -108,6 +109,7 @@ public abstract class ConstantCalculator
public static class ConstantCalculatorExpressionVisitor extends AllSameExpressionVisitor {
private LogicalRelationalOperator currentOp;
private PigContext pc;
+ private DateTimeZone currentDTZ = null;
public ConstantCalculatorExpressionVisitor(OperatorPlan expPlan,
LogicalRelationalOperator currentOp, PigContext pc) throws FrontendException {
super(expPlan, new ReverseDependencyOrderWalkerWOSeenChk(expPlan));
@@ -151,7 +153,9 @@ public abstract class ConstantCalculator
UDFContext.getUDFContext().addJobConf(ConfigurationUtil.toConfiguration(pc.getProperties(), true));
PigHadoopLogger pigHadoopLogger = PigHadoopLogger.getInstance();
PhysicalOperator.setPigLogger(pigHadoopLogger);
+ setDefaultTimeZone();
val = root.getNext(root.getResultType()).result;
+ restoreDefaultTimeZone();
UDFContext.getUDFContext().addJobConf(null);
} catch (ExecException e) {
throw new FrontendException(e);
@@ -162,7 +166,9 @@ public abstract class ConstantCalculator
UserFuncExpression udf = (UserFuncExpression)op;
try {
UDFContext.getUDFContext().addJobConf(ConfigurationUtil.toConfiguration(pc.getProperties(), true));
+ setDefaultTimeZone();
val = udf.getEvalFunc().exec(null);
+ restoreDefaultTimeZone();
UDFContext.getUDFContext().addJobConf(null);
} catch (IOException e) {
throw new FrontendException(e);
@@ -176,6 +182,21 @@ public abstract class ConstantCalculator
currentWalker.getPlan().replace(op, constantExpr);
}
}
+
+ private void setDefaultTimeZone() {
+ String dtzStr = pc.getProperties().getProperty("pig.datetime.default.tz");
+ if (dtzStr != null && dtzStr.length() > 0) {
+ currentDTZ = DateTimeZone.getDefault();
+ DateTimeZone.setDefault(DateTimeZone.forID(dtzStr));
+ }
+ }
+
+ private void restoreDefaultTimeZone() {
+ if (currentDTZ != null) {
+ DateTimeZone.setDefault(currentDTZ);
+ currentDTZ = null;
+ }
+ }
}
@Override
Modified: pig/trunk/test/org/apache/pig/test/TestBuiltin.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestBuiltin.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestBuiltin.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestBuiltin.java Sun Nov 9 20:01:47 2014
@@ -340,7 +340,6 @@ public class TestBuiltin {
inputMap.put("String", Util.loadNestTuple(TupleFactory.getInstance().newTuple(1), stringInput));
inputMap.put("DateTime", Util.loadNestTuple(TupleFactory.getInstance().newTuple(1), datetimeInput));
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.UTC.getOffset(null)));
}
@BeforeClass
@@ -397,31 +396,31 @@ public class TestBuiltin {
Tuple t1 = TupleFactory.getInstance().newTuple(1);
t1.set(0, 1231290421000L);
DateTime dt1 = func1.exec(t1);
- assertEquals(dt1, new DateTime("2009-01-07T01:07:01.000Z"));
+ assertEquals(dt1.compareTo(new DateTime("2009-01-07T01:07:01.000Z")), 0);
ToDateISO func2 = new ToDateISO();
Tuple t2 = TupleFactory.getInstance().newTuple(1);
t2.set(0, "2009-01-07T01:07:01.000Z");
DateTime dt2 = func2.exec(t2);
- assertEquals(dt2, new DateTime("2009-01-07T01:07:01.000Z"));
+ assertEquals(dt2.compareTo(new DateTime("2009-01-07T01:07:01.000Z")), 0);
Tuple t3 = TupleFactory.getInstance().newTuple(1);
t3.set(0, "2009-01-07T01:07:01.000+08:00");
DateTime dt3 = func2.exec(t3);
- assertEquals(dt3, new DateTime("2009-01-07T01:07:01.000+08:00", DateTimeZone.forID("+08:00")));
+ assertEquals(dt3.compareTo(new DateTime("2009-01-07T01:07:01.000+08:00", DateTimeZone.forID("+08:00"))), 0);
ToDate2ARGS func3 = new ToDate2ARGS();
Tuple t4 = TupleFactory.getInstance().newTuple(2);
t4.set(0, "2009.01.07 AD at 01:07:01");
t4.set(1, "yyyy.MM.dd G 'at' HH:mm:ss");
DateTime dt4 = func3.exec(t4);
- assertEquals(dt4, new DateTime("2009-01-07T01:07:01.000Z"));
+ assertEquals(dt4.compareTo(new DateTime("2009-01-07T01:07:01.000")), 0);
Tuple t5 = TupleFactory.getInstance().newTuple(2);
t5.set(0, "2009.01.07 AD at 01:07:01 +0800");
t5.set(1, "yyyy.MM.dd G 'at' HH:mm:ss Z");
DateTime dt5 = func3.exec(t5);
- assertEquals(dt5, new DateTime("2009-01-07T01:07:01.000+08:00"));
+ assertEquals(dt5.compareTo(new DateTime("2009-01-07T01:07:01.000+08:00")), 0);
ToDate3ARGS func4 = new ToDate3ARGS();
Tuple t6 = TupleFactory.getInstance().newTuple(3);
@@ -429,14 +428,14 @@ public class TestBuiltin {
t6.set(1, "yyyy.MM.dd G 'at' HH:mm:ss");
t6.set(2, "+00:00");
DateTime dt6 = func4.exec(t6);
- assertEquals(dt6, new DateTime("2009-01-07T01:07:01.000Z", DateTimeZone.forID("+00:00")));
+ assertEquals(dt6.compareTo(new DateTime("2009-01-07T01:07:01.000", DateTimeZone.forID("+00:00"))), 0);
Tuple t7 = TupleFactory.getInstance().newTuple(3);
t7.set(0, "2009.01.07 AD at 01:07:01 +0800");
t7.set(1, "yyyy.MM.dd G 'at' HH:mm:ss Z");
t7.set(2, "Asia/Singapore");
DateTime dt7 = func4.exec(t7);
- assertEquals(dt7, new DateTime("2009-01-07T01:07:01.000+08:00", DateTimeZone.forID("+08:00")));
+ assertEquals(dt7.compareTo(new DateTime("2009-01-07T01:07:01.000+08:00", DateTimeZone.forID("+08:00"))), 0);
ToUnixTime func5 = new ToUnixTime();
Tuple t8 = TupleFactory.getInstance().newTuple(1);
@@ -447,17 +446,17 @@ public class TestBuiltin {
ToString func6 = new ToString();
Tuple t9 = TupleFactory.getInstance().newTuple(1);
- t9.set(0, new DateTime("2009-01-07T01:07:01.000Z"));
+ t9.set(0, ToDate.extractDateTime("2009-01-07T01:07:01.000Z"));
String dtStr1 = func6.exec(t9);
assertEquals(dtStr1, "2009-01-07T01:07:01.000Z");
Tuple t10 = TupleFactory.getInstance().newTuple(1);
- t10.set(0, new DateTime("2009-01-07T09:07:01.000+08:00"));
+ t10.set(0, new DateTime("2009-01-07T09:07:01.000+08:00", DateTimeZone.UTC));
String dtStr2 = func6.exec(t10);
assertEquals(dtStr2, "2009-01-07T01:07:01.000Z");
Tuple t11 = TupleFactory.getInstance().newTuple(2);
- t11.set(0, new DateTime("2009-01-07T01:07:01.000Z"));
+ t11.set(0, ToDate.extractDateTime("2009-01-07T01:07:01.000Z"));
t11.set(1, "yyyy.MM.dd G 'at' HH:mm:ss");
String dtStr3 = func6.exec(t11);
assertEquals(dtStr3, "2009.01.07 AD at 01:07:01");
@@ -3057,9 +3056,9 @@ public class TestBuiltin {
@Test
public void testGetDateTimeField() throws Exception {
Tuple t1 = TupleFactory.getInstance().newTuple(1);
- t1.set(0, new DateTime("2010-04-15T08:11:33.020Z"));
+ t1.set(0, ToDate.extractDateTime("2010-04-15T08:11:33.020Z"));
Tuple t2 = TupleFactory.getInstance().newTuple(1);
- t2.set(0, new DateTime("2010-04-15T08:11:33.020+08:00"));
+ t2.set(0, ToDate.extractDateTime("2010-04-15T08:11:33.020+08:00"));
GetYear func1 = new GetYear();
Integer year = func1.exec(t1);
@@ -3083,7 +3082,7 @@ public class TestBuiltin {
Integer hour = func4.exec(t1);
assertEquals(hour.intValue(), 8);
hour = func4.exec(t2);
- assertEquals(hour.intValue(), 0);
+ assertEquals(hour.intValue(), 8);
GetMinute func5 = new GetMinute();
Integer minute = func5.exec(t1);
Modified: pig/trunk/test/org/apache/pig/test/TestConversions.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestConversions.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestConversions.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestConversions.java Sun Nov 9 20:01:47 2014
@@ -41,8 +41,6 @@ import org.apache.pig.parser.ParserExcep
import org.apache.pig.test.utils.GenRandomData;
import org.apache.pig.test.utils.TestHelper;
import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
-import org.junit.Before;
import org.junit.Test;
/**
@@ -56,11 +54,6 @@ public class TestConversions {
Random r = new Random(42L);
final int MAX = 10;
- @Before
- public void setUp() {
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.UTC.getOffset(null)));
- }
-
@Test
public void testBytesToBoolean() throws IOException {
// valid booleans
@@ -194,7 +187,7 @@ public class TestConversions {
ResourceFieldSchema fs = GenRandomData.getSmallBagTextTupleFieldSchema();
Tuple convertedTuple = ps.getLoadCaster().bytesToTuple(t.toString().getBytes(), fs);
- assertTrue(TestHelper.tupleEquals(t, convertedTuple));
+ assertEquals(t, convertedTuple);
}
}
@@ -207,7 +200,7 @@ public class TestConversions {
for (int i = 0; i < MAX; i++) {
DataBag b = GenRandomData.genRandFullTupTextDataBag(r,5,100);
DataBag convertedBag = ps.getLoadCaster().bytesToBag(b.toString().getBytes(), fs);
- assertTrue(TestHelper.bagEquals(b, convertedBag));
+ assertTrue(b.equals(convertedBag));
}
}
Modified: pig/trunk/test/org/apache/pig/test/TestDefaultDateTimeZone.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestDefaultDateTimeZone.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestDefaultDateTimeZone.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestDefaultDateTimeZone.java Sun Nov 9 20:01:47 2014
@@ -42,9 +42,12 @@ import org.junit.Test;
public class TestDefaultDateTimeZone extends TestCase {
private File tmpFile;
+ private DateTimeZone currentDTZ;
@Before
public void setUp() throws Exception {
+ currentDTZ = DateTimeZone.getDefault();
+
tmpFile = File.createTempFile("test", "txt");
PrintStream ps = new PrintStream(new FileOutputStream(tmpFile));
ps.println("1970-01-01T00:00:00.000");
@@ -53,6 +56,9 @@ public class TestDefaultDateTimeZone ext
ps.println("1970-01-03T00:00:00.000Z");
ps.println("1970-01-05T00:00:00.000");
ps.println("1970-01-05T00:00:00.000Z");
+ // for testing DST
+ ps.println("2014-02-01T00:00:00.000"); // EST
+ ps.println("2014-06-01T00:00:00.000"); // EDT
ps.close();
}
@@ -60,6 +66,7 @@ public class TestDefaultDateTimeZone ext
@After
public void tearDown() throws Exception {
tmpFile.delete();
+ DateTimeZone.setDefault(currentDTZ);
}
@Test
@@ -82,6 +89,25 @@ public class TestDefaultDateTimeZone ext
assertEquals(expectedItr.hasNext(), actualItr.hasNext());
}
+ @Test
+ public void testDST() throws Exception {
+ String defaultDTZ = "America/New_York"; // a timezone that uses DST
+ Properties config = new Properties();
+ config.setProperty("pig.datetime.default.tz", defaultDTZ);
+ PigServer pig = new PigServer(ExecType.LOCAL, config);
+ pig.registerQuery("a = load '"
+ + Util.encodeEscape(Util.generateURI(tmpFile.toString(), pig.getPigContext()))
+ + "' as (test:datetime);");
+ pig.registerQuery("b = filter a by test > ToDate('2014-01-01T00:00:00.000');");
+ pig.registerQuery("c = foreach b generate ToString(test, 'Z') as tz;");
+ Iterator<Tuple> actualItr = pig.openIterator("c");
+
+ Tuple est = actualItr.next();
+ assertEquals(Util.buildTuple("-0500"), est);
+ Tuple edt = actualItr.next();
+ assertEquals(Util.buildTuple("-0400"), edt);
+ }
+
private static Iterator<Tuple> generateExpectedResults(DateTimeZone dtz)
throws Exception {
List<Tuple> expectedResults = new ArrayList<Tuple>();
Modified: pig/trunk/test/org/apache/pig/test/TestOrderBy.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestOrderBy.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestOrderBy.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestOrderBy.java Sun Nov 9 20:01:47 2014
@@ -65,8 +65,7 @@ public class TestOrderBy {
ps.println("1\t" + DATA[1][i] + "\t" + DATA[0][i]);
}
ps.close();
-
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.UTC.getOffset(null)));
+
}
@After
Modified: pig/trunk/test/org/apache/pig/test/TestStore.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestStore.java?rev=1637732&r1=1637731&r2=1637732&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestStore.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestStore.java Sun Nov 9 20:01:47 2014
@@ -82,7 +82,6 @@ import org.apache.pig.parser.ParserExcep
import org.apache.pig.parser.QueryParserDriver;
import org.apache.pig.test.utils.GenRandomData;
import org.apache.pig.test.utils.TestHelper;
-import org.joda.time.DateTimeZone;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assume;
@@ -116,7 +115,6 @@ public class TestStore {
inputFileName = TESTDIR + "/TestStore-" + new Random().nextLong() + ".txt";
outputFileName = TESTDIR + "/TestStore-output-" + new Random().nextLong() + ".txt";
- DateTimeZone.setDefault(DateTimeZone.forOffsetMillis(DateTimeZone.UTC.getOffset(null)));
}
@After
@@ -355,7 +353,7 @@ public class TestStore {
t.append(flds[9].compareTo("")!=0 ? ps.getLoadCaster().bytesToBoolean(flds[9].getBytes()) : null);
t.append(flds[10].compareTo("")!=0 ? ps.getLoadCaster().bytesToDateTime(flds[10].getBytes()) : null);
t.append(flds[11].compareTo("")!=0 ? ps.getLoadCaster().bytesToCharArray(flds[10].getBytes()) : null);
- assertTrue(TestHelper.tupleEquals(inputTuple, t));
+ assertEquals(inputTuple, t);
}
br.close();
}