@@ -22,7 +22,9 @@ import java.io.{DataInput, DataOutput, IOException}
22
22
import org .apache .hadoop .hive .common .`type` .Date
23
23
import org .apache .hadoop .hive .serde2 .io .DateWritableV2
24
24
import org .apache .hadoop .io .WritableUtils
25
- import org .apache .spark .sql .catalyst .util .RebaseDateTime .{rebaseGregorianToJulianDays , rebaseJulianToGregorianDays }
25
+
26
+ import org .apache .spark .sql .catalyst .util .RebaseDateTime .{rebaseGregorianToJulianDays ,
27
+ rebaseJulianToGregorianDays }
26
28
27
29
28
30
/**
@@ -32,28 +34,31 @@ import org.apache.spark.sql.catalyst.util.RebaseDateTime.{rebaseGregorianToJulia
32
34
*
33
35
* @param gregorianDays The number of days since the epoch 1970-01-01 in
34
36
* Gregorian calendar.
35
- * @param julianDays The number of days since the epoch 1970-01-01 in
36
- * Julian calendar.
37
+ * @param julianDays The number of days since the epoch 1970-01-01 in
38
+ * Julian calendar.
37
39
*/
38
40
class DaysWritableV2 (
39
- var gregorianDays : Int ,
40
- var julianDays : Int )
41
+ var gregorianDays : Int ,
42
+ var julianDays : Int )
41
43
extends DateWritableV2 {
42
44
43
45
def this () = this (0 , 0 )
46
+
44
47
def this (gregorianDays : Int ) =
45
48
this (gregorianDays, rebaseGregorianToJulianDays(gregorianDays))
49
+
46
50
def this (dateWritable : DateWritableV2 ) = {
47
51
this (
48
52
gregorianDays = dateWritable match {
49
53
case daysWritable : DaysWritableV2 => daysWritable.gregorianDays
50
54
case dateWritable : DateWritableV2 =>
51
- rebaseJulianToGregorianDays(dateWritable.getDays)
55
+ rebaseJulianToGregorianDays(dateWritable.getDays)
52
56
},
53
57
julianDays = dateWritable.getDays)
54
58
}
55
59
56
60
override def getDays : Int = julianDays
61
+
57
62
override def get : Date = {
58
63
Date .ofEpochMilli(DateWritableV2 .daysToMillis(julianDays))
59
64
}
0 commit comments