allisonwang-db commented on a change in pull request #31791:
URL: https://github.com/apache/spark/pull/31791#discussion_r607394642



##########
File path: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/basicLogicalOperators.scala
##########
@@ -556,11 +557,56 @@ object Range {
     val output = StructType(StructField("id", LongType, nullable = false) :: 
Nil).toAttributes
     new Range(start, end, step, numSlices, output, isStreaming)
   }
+
   def apply(start: Long, end: Long, step: Long, numSlices: Int): Range = {
     Range(start, end, step, Some(numSlices))
   }
+
+  private def castAndEval[T](expression: Expression, dataType: DataType): T = {
+    TypeCoercion.implicitCast(expression, dataType)

Review comment:
       Before this PR the arguments to `range` will be implicitly casted. For 
example
   ```sql
   select * from range(6 + cos(3));  -- double -> long
   select * from range('1');  -- string -> long
   ```
   To be backward compatible we should still support these cases, but they need 
to respect the ansi mode when enabled.




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

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