-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/21432/
-----------------------------------------------------------
Review request for Tajo.
Bugs: TAJO-825
https://issues.apache.org/jira/browse/TAJO-825
Repository: tajo
Description
-------
Currently Tajo uses Joda time library for Datetime related features.
I tested Joda library with a next test code. It is difficult to express various
time range with Joda library.
So I propose that Tajo uses PostgreSQL style date/time features. I already
migrated PostgreSQL's date/time code to Tajo. I will attach that patch soon.
{code}
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 1582);
cal.set(Calendar.MONTH, 9);
cal.set(Calendar.DAY_OF_MONTH, 14);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateTime defaultCalDate = new DateTime(1582, 10, 14, 10, 0, 0, 0);
Chronology julianChrono = JulianChronology.getInstance();
DateTime julianCalDate = new DateTime(1582, 10, 14, 10, 0, 0, 0, julianChrono);
System.out.println("Java Calendar :" + df.format(cal.getTime()));
System.out.println("ISO Calendar : " + defaultCalDate);
System.out.println("Julian Calendar: " + julianCalDate);
System.out.println("ISO Calendar's dayOfWeek: " +
defaultCalDate.getDayOfWeek());
System.out.println("Julian Calendar's dayOfWeek: " +
julianCalDate.getDayOfWeek());
System.out.println("ISO Calendar's getCenturyOfEra: " +
defaultCalDate.getCenturyOfEra());
System.out.println("Julian Calendar's getCenturyOfEra: " +
julianCalDate.getCenturyOfEra());
{code}
{noformat}
Java Calendar :1582-10-24 16:49:35
ISO Calendar : 1582-10-14T10:00:00.000+08:27:52
Julian Calendar: 1582-10-14T10:00:00.000+08:27:52
ISO Calendar's dayOfWeek: 4
Julian Calendar's dayOfWeek: 7
ISO Calendar's getYearOfCentury: 15
Julian Calendar's getYearOfCentury: 16
{noformat}
Diffs
-----
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
c0f6d36
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java 4c307b3
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 6580525
tajo-common/src/main/java/org/apache/tajo/datum/DateDatum.java ad68303
tajo-common/src/main/java/org/apache/tajo/datum/DatumFactory.java 5ce36e5
tajo-common/src/main/java/org/apache/tajo/datum/Float4Datum.java 35dca00
tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java b7d8cf4
tajo-common/src/main/java/org/apache/tajo/datum/Int2Datum.java 731ccdc
tajo-common/src/main/java/org/apache/tajo/datum/Int4Datum.java 5b60e9e
tajo-common/src/main/java/org/apache/tajo/datum/Int8Datum.java 0367f9c
tajo-common/src/main/java/org/apache/tajo/datum/IntervalDatum.java b6904a9
tajo-common/src/main/java/org/apache/tajo/datum/TimeDatum.java 70f62c2
tajo-common/src/main/java/org/apache/tajo/datum/TimestampDatum.java 879428b
tajo-common/src/main/java/org/apache/tajo/exception/ValueOutOfRangeException.java
PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/json/DatumAdapter.java 2a162a9
tajo-common/src/main/java/org/apache/tajo/util/TimeStampUtil.java aa1be8b
tajo-common/src/main/java/org/apache/tajo/util/datetime/DateTimeConstants.java
PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/datetime/DateTimeFormat.java
PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/datetime/DateTimeUtil.java
PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/datetime/TimeMeta.java
PRE-CREATION
tajo-common/src/test/java/org/apache/tajo/datum/TestDateDatum.java 2123dc5
tajo-common/src/test/java/org/apache/tajo/datum/TestIntervalDatum.java
3bce64c
tajo-common/src/test/java/org/apache/tajo/datum/TestTimeDatum.java c405d68
tajo-common/src/test/java/org/apache/tajo/datum/TestTimestampDatum.java
6551077
tajo-common/src/test/java/org/apache/tajo/util/TestDateTimeFormat.java
PRE-CREATION
tajo-common/src/test/java/org/apache/tajo/util/TestDateTimeUtil.java
PRE-CREATION
tajo-common/src/test/java/org/apache/tajo/util/TestTimeStampUtil.java 353063d
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/DatePartFromDate.java
a010a7d
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/DatePartFromTime.java
28e14fb
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/DatePartFromTimestamp.java
3b46929
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/DateTimePartFromUnixTimeStamp.java
6aaded0
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/ToCharTimestamp.java
2a74ff5
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/ToDate.java
ba6a020
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/ToTimestamp.java
1cf6870
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/ToTimestampInt.java
PRE-CREATION
tajo-core/src/main/java/org/apache/tajo/engine/function/datetime/ToTimestampText.java
PRE-CREATION
tajo-core/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java
dfbe600
tajo-core/src/main/java/org/apache/tajo/engine/planner/UniformRangePartition.java
f6922ed
tajo-core/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java bab6ec7
tajo-core/src/test/java/org/apache/tajo/engine/eval/TestIntervalType.java
4d18be3
tajo-core/src/test/java/org/apache/tajo/engine/eval/TestSQLDateTimeTypes.java
c9c8dd4
tajo-core/src/test/java/org/apache/tajo/engine/eval/TestSQLExpression.java
6e35d3b
tajo-core/src/test/java/org/apache/tajo/engine/function/TestDateTimeFunctions.java
507ef61
tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
2f5a755
tajo-storage/src/main/java/org/apache/tajo/storage/TextSerializerDeserializer.java
41ee720
tajo-storage/src/test/java/org/apache/tajo/storage/TestStorages.java 0b764cc
Diff: https://reviews.apache.org/r/21432/diff/
Testing
-------
mvn clean install; and tested on local cluster
Thanks,
hyoungjun kim