Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/23135#discussion_r236106495
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala
 ---
    @@ -43,9 +43,24 @@ import org.apache.spark.sql.types._
      * There are a few important traits:
      *
      * - [[Nondeterministic]]: an expression that is not deterministic.
    + * - [[Stateful]]: an expression that contains mutable state. For example, 
MonotonicallyIncreasingID
    + *                 and Rand. A stateful expression is always 
non-deterministic.
      * - [[Unevaluable]]: an expression that is not supposed to be evaluated.
      * - [[CodegenFallback]]: an expression that does not have code gen 
implemented and falls back to
      *                        interpreted mode.
    + * - [[NullIntolerant]]: an expression that is null intolerant (i.e. any 
null input will result in
    + *                       null output).
    + * - [[NonSQLExpression]]: a common base trait for the expressions that 
doesn't have SQL
    + *                         expressions like representation. For example, 
`ScalaUDF`, `ScalaUDAF`,
    + *                         and object `MapObjects` and `Invoke`.
    + * - [[UserDefinedExpression]]: a common base trait for user-defined 
functions, including
    + *                              UDF/UDAF/UDTF.
    + * - [[HigherOrderFunction]]: a common base trait for higher order 
functions that take one or more
    + *                            (lambda) functions and applies these to some 
objects. The function
    + *                            produces a number of variables which can be 
consumed by some lambda
    + *                            function.
    + * - [[NamedExpression]]: An [[Expression]] that is named.
    + * - [[TimeZoneAwareExpression]]: A common base trait for time zone aware 
expressions.
    --- End diff --
    
    shall we also mention `SubqueryExpression`?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to