Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1803,7 +1803,6 @@ case class Cast(
$evPrim = $util.durationToMicros($util.microsToDuration($c), (byte)${it.endField});
"""
case x: IntegralType =>
assert(it.startField == it.endField)
val util = IntervalUtils.getClass.getCanonicalName.stripSuffix("$")
if (x == LongType) {
(c, evPrim, _) =>
Expand Down Expand Up @@ -1834,7 +1833,6 @@ case class Cast(
$evPrim = $util.periodToMonths($util.monthsToPeriod($c), (byte)${it.endField});
"""
case x: IntegralType =>
assert(it.startField == it.endField)
val util = IntervalUtils.getClass.getCanonicalName.stripSuffix("$")
if (x == LongType) {
(c, evPrim, _) =>
Expand Down
2 changes: 2 additions & 0 deletions sql/core/src/test/resources/sql-tests/inputs/cast.sql
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,11 @@ select cast(interval '1000000' second as smallint);
-- cast integrals to ANSI intervals
select cast(1Y as interval year);
select cast(-122S as interval year to month);
select cast(ym as interval year to month) from values(-122S) as t(ym);
select cast(1000 as interval month);
select cast(-10L as interval second);
select cast(100Y as interval hour to second);
select cast(dt as interval hour to second) from values(100Y) as t(dt);
select cast(-1000S as interval day to second);
select cast(10 as interval day);

Expand Down
16 changes: 16 additions & 0 deletions sql/core/src/test/resources/sql-tests/results/ansi/cast.sql.out
Original file line number Diff line number Diff line change
Expand Up @@ -856,6 +856,14 @@ struct<CAST(-122 AS INTERVAL YEAR TO MONTH):interval year to month>
-10-2


-- !query
select cast(ym as interval year to month) from values(-122S) as t(ym)
-- !query schema
struct<ym:interval year to month>
-- !query output
-10-2


-- !query
select cast(1000 as interval month)
-- !query schema
Expand All @@ -880,6 +888,14 @@ struct<CAST(100 AS INTERVAL HOUR TO SECOND):interval hour to second>
0 00:01:40.000000000


-- !query
select cast(dt as interval hour to second) from values(100Y) as t(dt)
-- !query schema
struct<dt:interval hour to second>
-- !query output
0 00:01:40.000000000


-- !query
select cast(-1000S as interval day to second)
-- !query schema
Expand Down
16 changes: 16 additions & 0 deletions sql/core/src/test/resources/sql-tests/results/cast.sql.out
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,14 @@ struct<CAST(-122 AS INTERVAL YEAR TO MONTH):interval year to month>
-10-2


-- !query
select cast(ym as interval year to month) from values(-122S) as t(ym)
-- !query schema
struct<ym:interval year to month>
-- !query output
-10-2


-- !query
select cast(1000 as interval month)
-- !query schema
Expand All @@ -708,6 +716,14 @@ struct<CAST(100 AS INTERVAL HOUR TO SECOND):interval hour to second>
0 00:01:40.000000000


-- !query
select cast(dt as interval hour to second) from values(100Y) as t(dt)
-- !query schema
struct<dt:interval hour to second>
-- !query output
0 00:01:40.000000000


-- !query
select cast(-1000S as interval day to second)
-- !query schema
Expand Down