Blizzara commented on code in PR #12112:
URL: https://github.com/apache/datafusion/pull/12112#discussion_r1820849257


##########
datafusion/substrait/src/logical_plan/consumer.rs:
##########
@@ -2299,6 +2306,35 @@ fn from_substrait_literal(
         Some(LiteralType::IntervalYearToMonth(IntervalYearToMonth { years, 
months })) => {
             ScalarValue::new_interval_ym(*years, *months)
         }
+        Some(LiteralType::IntervalCompound(IntervalCompound {
+            interval_year_to_month,
+            interval_day_to_second,
+        })) => match (interval_year_to_month, interval_day_to_second) {
+            (
+                Some(IntervalYearToMonth { years, months }),
+                Some(IntervalDayToSecond {
+                    days,
+                    seconds,
+                    subseconds,
+                    precision_mode:
+                        
Some(interval_day_to_second::PrecisionMode::Precision(p)),
+                }),
+            ) => {
+                if *p < 0 || *p > 9 {
+                    return plan_err!(
+                        "Unsupported Substrait interval day to second 
precision: {}",
+                        p
+                    );
+                }
+                let nanos = *subseconds * i64::pow(10, (*p - 9) as u32);

Review Comment:
   fixed in 79f6341266c2042fbb3c1409c14af3e5ffe078a8 and added a test in 
ea8bc4a780dd7fa917df1d5c36f419f082efa625, thanks again for catching this 
@westonpace! 
   
   Thanks @alamb, I  converted back to PR now and I think it's ready to merge :)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to