-----------------------------------------------------------
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

Reply via email to