You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by hv...@apache.org on 2023/07/27 03:33:00 UTC

[spark] branch branch-3.5 updated: [SPARK-44507][SQL][CONNECT] Move AnalysisException to sql/api

This is an automated email from the ASF dual-hosted git repository.

hvanhovell pushed a commit to branch branch-3.5
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/branch-3.5 by this push:
     new 57b91eefff9 [SPARK-44507][SQL][CONNECT] Move AnalysisException to sql/api
57b91eefff9 is described below

commit 57b91eefff9120af868a202469f90c5d3814ae21
Author: Herman van Hovell <he...@databricks.com>
AuthorDate: Wed Jul 26 23:25:46 2023 -0400

    [SPARK-44507][SQL][CONNECT] Move AnalysisException to sql/api
    
    This PR moves `AnalysisException` to sql/api. In order to do so we had to move the `plan` field out. We have introduced the `ExtendedAnalysisException` subclass to host this field.
    
    Yes, `AnalysisException` does not have the `plan` field anymore. This is a breaking change. On the upside this reduces a lot of the breaking changes we had to make, for example `ParseException` is an `AnalysisException` again.
    
    (Updated) Existing tests.
    
    Closes #42130 from hvanhovell/light-analysis-exception.
    
    Authored-by: Herman van Hovell <he...@databricks.com>
    Signed-off-by: Herman van Hovell <he...@databricks.com>
    (cherry picked from commit 29ef893eb2d4ee2819ecc8bbec5d2b6fd428e21e)
    Signed-off-by: Herman van Hovell <he...@databricks.com>
---
 docs/sql-migration-guide.md                        |   2 +-
 project/MimaExcludes.scala                         |   5 +-
 .../org/apache/spark/sql/AnalysisException.scala   |  11 +-
 .../apache/spark/sql/catalyst/parser/parsers.scala |  26 +-
 .../sql/catalyst/ExtendedAnalysisException.scala   |  87 +++
 .../spark/sql/catalyst/analysis/Analyzer.scala     |   6 +-
 .../sql/catalyst/analysis/ResolveTimeWindows.scala |   4 +-
 .../analysis/UnsupportedOperationChecker.scala     |   3 +-
 .../spark/sql/errors/QueryCompilationErrors.scala  |   4 +-
 .../sql-tests/analyzer-results/ansi/array.sql.out  |  10 +-
 .../sql-tests/analyzer-results/ansi/cast.sql.out   |  16 +-
 .../sql-tests/analyzer-results/ansi/date.sql.out   |  18 +-
 .../double-quoted-identifiers-disabled.sql.out     |  10 +-
 .../ansi/double-quoted-identifiers-enabled.sql.out |  22 +-
 .../analyzer-results/ansi/interval.sql.out         |  70 +-
 .../analyzer-results/ansi/literals.sql.out         |  18 +-
 .../sql-tests/analyzer-results/ansi/map.sql.out    |   4 +-
 .../analyzer-results/ansi/string-functions.sql.out |   6 +-
 .../analyzer-results/ansi/timestamp.sql.out        |   8 +-
 .../analyzer-results/ansi/try_arithmetic.sql.out   |   2 +-
 .../sql-tests/analyzer-results/array.sql.out       |  10 +-
 .../sql-tests/analyzer-results/bitwise.sql.out     |   4 +-
 .../column-resolution-aggregate.sql.out            |   8 +-
 .../columnresolution-negative.sql.out              |   8 +-
 .../analyzer-results/csv-functions.sql.out         |   6 +-
 .../sql-tests/analyzer-results/cte-legacy.sql.out  |  10 +-
 .../sql-tests/analyzer-results/cte-nested.sql.out  |   6 +-
 .../analyzer-results/cte-nonlegacy.sql.out         |   6 +-
 .../sql-tests/analyzer-results/cte.sql.out         |  18 +-
 .../sql-tests/analyzer-results/date.sql.out        |  26 +-
 .../analyzer-results/datetime-legacy.sql.out       |  42 +-
 .../double-quoted-identifiers.sql.out              |  10 +-
 .../sql-tests/analyzer-results/except-all.sql.out  |   4 +-
 .../analyzer-results/group-analytics.sql.out       |   4 +-
 .../analyzer-results/group-by-all-duckdb.sql.out   |   4 +-
 .../analyzer-results/group-by-all-mosha.sql.out    |   6 +-
 .../analyzer-results/group-by-all.sql.out          |   8 +-
 .../analyzer-results/group-by-filter.sql.out       |   6 +-
 .../sql-tests/analyzer-results/group-by.sql.out    |  36 +-
 .../analyzer-results/grouping_set.sql.out          |   2 +-
 .../sql-tests/analyzer-results/having.sql.out      |   2 +-
 .../sql-tests/analyzer-results/hll.sql.out         |   4 +-
 .../analyzer-results/identifier-clause.sql.out     |   2 +-
 .../analyzer-results/intersect-all.sql.out         |   4 +-
 .../sql-tests/analyzer-results/interval.sql.out    |  70 +-
 .../analyzer-results/join-lateral.sql.out          |  24 +-
 .../analyzer-results/json-functions.sql.out        |  10 +-
 .../sql-tests/analyzer-results/limit.sql.out       |  12 +-
 .../sql-tests/analyzer-results/literals.sql.out    |  18 +-
 .../sql-tests/analyzer-results/map.sql.out         |   4 +-
 .../analyzer-results/mask-functions.sql.out        |  12 +-
 .../named-function-arguments.sql.out               |   2 +-
 .../analyzer-results/natural-join.sql.out          |   2 +-
 .../analyzer-results/order-by-all.sql.out          |   2 +-
 .../sql-tests/analyzer-results/percentiles.sql.out |  24 +-
 .../sql-tests/analyzer-results/pivot.sql.out       |   6 +-
 .../postgreSQL/aggregates_part1.sql.out            |   2 +-
 .../postgreSQL/aggregates_part3.sql.out            |   2 +-
 .../postgreSQL/create_view.sql.out                 |   8 +-
 .../analyzer-results/postgreSQL/join.sql.out       |  16 +-
 .../analyzer-results/postgreSQL/limit.sql.out      |   4 +-
 .../analyzer-results/postgreSQL/numeric.sql.out    |   4 +-
 .../postgreSQL/select_having.sql.out               |   4 +-
 .../postgreSQL/select_implicit.sql.out             |   4 +-
 .../analyzer-results/postgreSQL/union.sql.out      |   2 +-
 .../postgreSQL/window_part3.sql.out                |  10 +-
 .../analyzer-results/postgreSQL/with.sql.out       |   4 +-
 .../analyzer-results/query_regex_column.sql.out    |  16 +-
 .../sql-tests/analyzer-results/random.sql.out      |   4 +-
 .../analyzer-results/regexp-functions.sql.out      |   4 +-
 .../analyzer-results/show_columns.sql.out          |   8 +-
 .../analyzer-results/string-functions.sql.out      |   6 +-
 .../exists-joins-and-set-ops.sql.out               |  16 +-
 .../subquery/in-subquery/in-basic.sql.out          |   2 +-
 .../subquery/in-subquery/in-set-operations.sql.out |  24 +-
 .../negative-cases/invalid-correlation.sql.out     |   8 +-
 .../negative-cases/subq-input-typecheck.sql.out    |  10 +-
 .../scalar-subquery-predicate.sql.out              |   2 +-
 .../scalar-subquery/scalar-subquery-set-op.sql.out |  12 +-
 .../analyzer-results/table-aliases.sql.out         |   2 +-
 .../table-valued-functions.sql.out                 |  16 +-
 .../sql-tests/analyzer-results/timestamp.sql.out   |  16 +-
 .../timestampNTZ/timestamp-ansi.sql.out            |   8 +-
 .../timestampNTZ/timestamp.sql.out                 |  16 +-
 .../analyzer-results/try_arithmetic.sql.out        |   2 +-
 .../typeCoercion/native/booleanEquality.sql.out    |  48 +-
 .../typeCoercion/native/caseWhenCoercion.sql.out   | 140 ++--
 .../typeCoercion/native/dateTimeOperations.sql.out |  54 +-
 .../typeCoercion/native/decimalPrecision.sql.out   | 704 ++++++++++-----------
 .../typeCoercion/native/division.sql.out           | 160 ++---
 .../typeCoercion/native/ifCoercion.sql.out         | 140 ++--
 .../typeCoercion/native/inConversion.sql.out       | 280 ++++----
 .../typeCoercion/native/mapZipWith.sql.out         |   4 +-
 .../typeCoercion/native/mapconcat.sql.out          |  10 +-
 .../typeCoercion/native/promoteStrings.sql.out     |  94 +--
 .../native/stringCastAndExpressions.sql.out        |   6 +-
 .../native/widenSetOperationTypes.sql.out          | 140 ++--
 .../native/windowFrameCoercion.sql.out             |   8 +-
 .../udf/postgreSQL/udf-aggregates_part1.sql.out    |   2 +-
 .../udf/postgreSQL/udf-aggregates_part3.sql.out    |   2 +-
 .../udf/postgreSQL/udf-join.sql.out                |  16 +-
 .../udf/postgreSQL/udf-select_having.sql.out       |   4 +-
 .../udf/postgreSQL/udf-select_implicit.sql.out     |   4 +-
 .../analyzer-results/udf/udf-except-all.sql.out    |   4 +-
 .../udf/udf-group-analytics.sql.out                |   4 +-
 .../analyzer-results/udf/udf-group-by.sql.out      |  28 +-
 .../analyzer-results/udf/udf-intersect-all.sql.out |   4 +-
 .../analyzer-results/udf/udf-pivot.sql.out         |   6 +-
 .../analyzer-results/udf/udf-window.sql.out        |  12 +-
 .../sql-tests/analyzer-results/window.sql.out      |  18 +-
 .../resources/sql-tests/results/ansi/array.sql.out |  10 +-
 .../resources/sql-tests/results/ansi/cast.sql.out  |  16 +-
 .../resources/sql-tests/results/ansi/date.sql.out  |  18 +-
 .../double-quoted-identifiers-disabled.sql.out     |  10 +-
 .../ansi/double-quoted-identifiers-enabled.sql.out |  22 +-
 .../sql-tests/results/ansi/interval.sql.out        |  70 +-
 .../sql-tests/results/ansi/literals.sql.out        |  18 +-
 .../resources/sql-tests/results/ansi/map.sql.out   |   4 +-
 .../results/ansi/string-functions.sql.out          |   6 +-
 .../sql-tests/results/ansi/timestamp.sql.out       |   8 +-
 .../sql-tests/results/ansi/try_arithmetic.sql.out  |   2 +-
 .../test/resources/sql-tests/results/array.sql.out |  10 +-
 .../resources/sql-tests/results/bitwise.sql.out    |   4 +-
 .../results/column-resolution-aggregate.sql.out    |   8 +-
 .../results/columnresolution-negative.sql.out      |   8 +-
 .../sql-tests/results/csv-functions.sql.out        |   6 +-
 .../resources/sql-tests/results/cte-legacy.sql.out |  10 +-
 .../resources/sql-tests/results/cte-nested.sql.out |   6 +-
 .../sql-tests/results/cte-nonlegacy.sql.out        |   6 +-
 .../test/resources/sql-tests/results/cte.sql.out   |  18 +-
 .../test/resources/sql-tests/results/date.sql.out  |  26 +-
 .../sql-tests/results/datetime-legacy.sql.out      |  42 +-
 .../results/double-quoted-identifiers.sql.out      |  10 +-
 .../resources/sql-tests/results/except-all.sql.out |   4 +-
 .../sql-tests/results/group-analytics.sql.out      |   4 +-
 .../sql-tests/results/group-by-all-duckdb.sql.out  |   4 +-
 .../sql-tests/results/group-by-all-mosha.sql.out   |   6 +-
 .../sql-tests/results/group-by-all.sql.out         |   8 +-
 .../sql-tests/results/group-by-filter.sql.out      |   6 +-
 .../resources/sql-tests/results/group-by.sql.out   |  36 +-
 .../sql-tests/results/grouping_set.sql.out         |   2 +-
 .../resources/sql-tests/results/having.sql.out     |   2 +-
 .../test/resources/sql-tests/results/hll.sql.out   |   4 +-
 .../sql-tests/results/identifier-clause.sql.out    |   2 +-
 .../sql-tests/results/intersect-all.sql.out        |   4 +-
 .../resources/sql-tests/results/interval.sql.out   |  70 +-
 .../sql-tests/results/join-lateral.sql.out         |  24 +-
 .../sql-tests/results/json-functions.sql.out       |  10 +-
 .../test/resources/sql-tests/results/limit.sql.out |  12 +-
 .../resources/sql-tests/results/literals.sql.out   |  18 +-
 .../test/resources/sql-tests/results/map.sql.out   |   4 +-
 .../sql-tests/results/mask-functions.sql.out       |  12 +-
 .../results/named-function-arguments.sql.out       |   2 +-
 .../sql-tests/results/natural-join.sql.out         |   2 +-
 .../sql-tests/results/order-by-all.sql.out         |   2 +-
 .../sql-tests/results/percentiles.sql.out          |  24 +-
 .../test/resources/sql-tests/results/pivot.sql.out |   6 +-
 .../results/postgreSQL/aggregates_part1.sql.out    |   2 +-
 .../results/postgreSQL/aggregates_part3.sql.out    |   2 +-
 .../results/postgreSQL/create_view.sql.out         |   8 +-
 .../sql-tests/results/postgreSQL/join.sql.out      |  16 +-
 .../sql-tests/results/postgreSQL/limit.sql.out     |   4 +-
 .../sql-tests/results/postgreSQL/numeric.sql.out   |   4 +-
 .../results/postgreSQL/select_having.sql.out       |   4 +-
 .../results/postgreSQL/select_implicit.sql.out     |   4 +-
 .../sql-tests/results/postgreSQL/union.sql.out     |   2 +-
 .../results/postgreSQL/window_part3.sql.out        |  10 +-
 .../sql-tests/results/postgreSQL/with.sql.out      |   4 +-
 .../sql-tests/results/query_regex_column.sql.out   |  16 +-
 .../resources/sql-tests/results/random.sql.out     |   4 +-
 .../sql-tests/results/regexp-functions.sql.out     |   4 +-
 .../sql-tests/results/show_columns.sql.out         |   8 +-
 .../sql-tests/results/string-functions.sql.out     |   6 +-
 .../exists-joins-and-set-ops.sql.out               |  16 +-
 .../results/subquery/in-subquery/in-basic.sql.out  |   2 +-
 .../subquery/in-subquery/in-set-operations.sql.out |  24 +-
 .../negative-cases/invalid-correlation.sql.out     |   8 +-
 .../negative-cases/subq-input-typecheck.sql.out    |  10 +-
 .../scalar-subquery-predicate.sql.out              |   2 +-
 .../scalar-subquery/scalar-subquery-set-op.sql.out |  12 +-
 .../sql-tests/results/table-aliases.sql.out        |   2 +-
 .../results/table-valued-functions.sql.out         |  16 +-
 .../resources/sql-tests/results/timestamp.sql.out  |  16 +-
 .../results/timestampNTZ/timestamp-ansi.sql.out    |   8 +-
 .../results/timestampNTZ/timestamp.sql.out         |  16 +-
 .../sql-tests/results/try_arithmetic.sql.out       |   2 +-
 .../typeCoercion/native/booleanEquality.sql.out    |  48 +-
 .../typeCoercion/native/caseWhenCoercion.sql.out   | 140 ++--
 .../typeCoercion/native/dateTimeOperations.sql.out |  54 +-
 .../typeCoercion/native/decimalPrecision.sql.out   | 704 ++++++++++-----------
 .../results/typeCoercion/native/division.sql.out   | 160 ++---
 .../results/typeCoercion/native/ifCoercion.sql.out | 140 ++--
 .../typeCoercion/native/inConversion.sql.out       | 280 ++++----
 .../results/typeCoercion/native/mapZipWith.sql.out |   4 +-
 .../results/typeCoercion/native/mapconcat.sql.out  |  10 +-
 .../typeCoercion/native/promoteStrings.sql.out     |  94 +--
 .../native/stringCastAndExpressions.sql.out        |   6 +-
 .../native/widenSetOperationTypes.sql.out          | 140 ++--
 .../native/windowFrameCoercion.sql.out             |   8 +-
 .../sql-tests/results/udaf/udaf-group-by.sql.out   |  12 +-
 .../udf/postgreSQL/udf-aggregates_part1.sql.out    |   2 +-
 .../udf/postgreSQL/udf-aggregates_part3.sql.out    |   2 +-
 .../results/udf/postgreSQL/udf-join.sql.out        |  16 +-
 .../udf/postgreSQL/udf-select_having.sql.out       |   4 +-
 .../udf/postgreSQL/udf-select_implicit.sql.out     |   4 +-
 .../sql-tests/results/udf/udf-except-all.sql.out   |   4 +-
 .../results/udf/udf-group-analytics.sql.out        |   4 +-
 .../sql-tests/results/udf/udf-group-by.sql.out     |  28 +-
 .../results/udf/udf-intersect-all.sql.out          |   4 +-
 .../sql-tests/results/udf/udf-pivot.sql.out        |   6 +-
 .../sql-tests/results/udf/udf-window.sql.out       |  12 +-
 .../resources/sql-tests/results/window.sql.out     |  18 +-
 .../org/apache/spark/sql/JsonFunctionsSuite.scala  |   3 +-
 .../scala/org/apache/spark/sql/QueryTest.scala     |   5 +-
 .../scala/org/apache/spark/sql/SQLQuerySuite.scala |   8 +-
 .../org/apache/spark/sql/SQLQueryTestHelper.scala  |   3 +-
 216 files changed, 2858 insertions(+), 2781 deletions(-)

diff --git a/docs/sql-migration-guide.md b/docs/sql-migration-guide.md
index 42c36ba6818..59b125cbc82 100644
--- a/docs/sql-migration-guide.md
+++ b/docs/sql-migration-guide.md
@@ -28,7 +28,7 @@ license: |
 - Since Spark 3.5, Spark thrift server will interrupt task when canceling a running statement. To restore the previous behavior, set `spark.sql.thriftServer.interruptOnCancel` to `false`.
 - Since Spark 3.5, the Avro will throw `AnalysisException` when reading Interval types as Date or Timestamp types, or reading Decimal types with lower precision. To restore the legacy behavior, set `spark.sql.legacy.avro.allowIncompatibleSchema` to `true`
 - Since Spark 3.5, Row's json and prettyJson methods are moved to `ToJsonUtil`.
-- Since Spark 3.5, ParseException is a subclass of SparkException instead of AnalysisException.
+- Since Spark 3.5, the `plan` field is moved from `AnalysisException` to `EnhancedAnalysisException`.
 
 ## Upgrading from Spark SQL 3.3 to 3.4
 
diff --git a/project/MimaExcludes.scala b/project/MimaExcludes.scala
index 0fdf6ad534d..d446603b687 100644
--- a/project/MimaExcludes.scala
+++ b/project/MimaExcludes.scala
@@ -64,12 +64,15 @@ object MimaExcludes {
     ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.spark.status.api.v1.JobData.this"),
     // [SPARK-44205][SQL] Extract Catalyst Code from DecimalType
     ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.spark.sql.types.DecimalType.unapply"),
+    // [SPARK-44507][SQL][CONNECT] Move AnalysisException to sql/api.
+    ProblemFilters.exclude[MissingClassProblem]("org.apache.spark.sql.AnalysisException"),
+    ProblemFilters.exclude[MissingClassProblem]("org.apache.spark.sql.AnalysisException$"),
     // [SPARK-44535][CONNECT][SQL] Move required Streaming API to sql/api
     ProblemFilters.exclude[MissingClassProblem]("org.apache.spark.sql.streaming.GroupStateTimeout"),
     ProblemFilters.exclude[MissingClassProblem]("org.apache.spark.sql.streaming.OutputMode")
   )
 
-  // Defulat exclude rules
+  // Default exclude rules
   lazy val defaultExcludes = Seq(
     // Spark Internals
     ProblemFilters.exclude[Problem]("org.apache.spark.rpc.*"),
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/AnalysisException.scala b/sql/api/src/main/scala/org/apache/spark/sql/AnalysisException.scala
similarity index 90%
rename from sql/catalyst/src/main/scala/org/apache/spark/sql/AnalysisException.scala
rename to sql/api/src/main/scala/org/apache/spark/sql/AnalysisException.scala
index ccc3b5f85f7..e1cb02a362b 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/AnalysisException.scala
+++ b/sql/api/src/main/scala/org/apache/spark/sql/AnalysisException.scala
@@ -21,7 +21,6 @@ import scala.collection.JavaConverters._
 
 import org.apache.spark.{QueryContext, SparkThrowable, SparkThrowableHelper}
 import org.apache.spark.annotation.Stable
-import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
 import org.apache.spark.sql.catalyst.trees.{Origin, WithOrigin}
 
 /**
@@ -34,8 +33,6 @@ class AnalysisException protected[sql] (
     val message: String,
     val line: Option[Int] = None,
     val startPosition: Option[Int] = None,
-    // Some plans fail to serialize due to bugs in scala collections.
-    @transient val plan: Option[LogicalPlan] = None,
     val cause: Option[Throwable] = None,
     val errorClass: Option[String] = None,
     val messageParameters: Map[String, String] = Map.empty,
@@ -102,12 +99,11 @@ class AnalysisException protected[sql] (
       message: String = this.message,
       line: Option[Int] = this.line,
       startPosition: Option[Int] = this.startPosition,
-      plan: Option[LogicalPlan] = this.plan,
       cause: Option[Throwable] = this.cause,
       errorClass: Option[String] = this.errorClass,
       messageParameters: Map[String, String] = this.messageParameters,
       context: Array[QueryContext] = this.context): AnalysisException =
-    new AnalysisException(message, line, startPosition, plan, cause, errorClass,
+    new AnalysisException(message, line, startPosition, cause, errorClass,
       messageParameters, context)
 
   def withPosition(origin: Origin): AnalysisException = {
@@ -119,10 +115,7 @@ class AnalysisException protected[sql] (
     newException
   }
 
-  override def getMessage: String = {
-    val planAnnotation = Option(plan).flatten.map(p => s";\n$p").getOrElse("")
-    getSimpleMessage + planAnnotation
-  }
+  override def getMessage: String = getSimpleMessage
 
   // Outputs an exception without the logical plan.
   // For testing only
diff --git a/sql/api/src/main/scala/org/apache/spark/sql/catalyst/parser/parsers.scala b/sql/api/src/main/scala/org/apache/spark/sql/catalyst/parser/parsers.scala
index ac285d54c1f..39d369fed94 100644
--- a/sql/api/src/main/scala/org/apache/spark/sql/catalyst/parser/parsers.scala
+++ b/sql/api/src/main/scala/org/apache/spark/sql/catalyst/parser/parsers.scala
@@ -23,9 +23,9 @@ import org.antlr.v4.runtime.atn.PredictionMode
 import org.antlr.v4.runtime.misc.{Interval, ParseCancellationException}
 import org.antlr.v4.runtime.tree.TerminalNodeImpl
 
-import org.apache.spark.{QueryContext, SparkException, SparkThrowable, SparkThrowableHelper}
+import org.apache.spark.{QueryContext, SparkThrowable, SparkThrowableHelper}
 import org.apache.spark.internal.Logging
-import org.apache.spark.sql.SqlApiConf
+import org.apache.spark.sql.{AnalysisException, SqlApiConf}
 import org.apache.spark.sql.catalyst.trees.{CurrentOrigin, Origin, WithOrigin}
 import org.apache.spark.sql.catalyst.util.SparkParserUtils
 import org.apache.spark.sql.errors.QueryParsingErrors
@@ -184,15 +184,17 @@ case object ParseErrorListener extends BaseErrorListener {
  */
 class ParseException(
     val command: Option[String],
-    val message: String,
+    message: String,
     val start: Origin,
     val stop: Origin,
-    val errorClass: Option[String] = None,
-    val messageParameters: Map[String, String] = Map.empty,
-    val queryContext: Array[QueryContext] = ParseException.getQueryContext())
-  extends SparkException(
+    errorClass: Option[String] = None,
+    messageParameters: Map[String, String] = Map.empty,
+    queryContext: Array[QueryContext] = ParseException.getQueryContext())
+  extends AnalysisException(
     message,
-    cause = null,
+    start.line,
+    start.startPosition,
+    None,
     errorClass,
     messageParameters,
     queryContext) {
@@ -222,14 +224,6 @@ class ParseException(
       Some(errorClass),
       messageParameters)
 
-  // Methods added to retain compatibility with AnalysisException.
-  @deprecated("Use start.line instead.")
-  def line: Option[Int] = start.line
-  @deprecated("Use start.startPosition instead.")
-  def startPosition: Option[Int] = start.startPosition
-  @deprecated("ParseException is never caused by another exception.")
-  def cause: Option[Throwable] = None
-
   override def getMessage: String = {
     val builder = new StringBuilder
     builder ++= "\n" ++= message
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ExtendedAnalysisException.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ExtendedAnalysisException.scala
new file mode 100644
index 00000000000..2eb7054edce
--- /dev/null
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/ExtendedAnalysisException.scala
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.spark.sql.catalyst
+
+import org.apache.spark.QueryContext
+import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
+
+/**
+ * Internal [[AnalysisException]] that also captures a [[LogicalPlan]].
+ */
+class ExtendedAnalysisException(
+    message: String,
+    line: Option[Int] = None,
+    startPosition: Option[Int] = None,
+    // Some plans fail to serialize due to bugs in scala collections.
+    @transient val plan: Option[LogicalPlan] = None,
+    cause: Option[Throwable] = None,
+    errorClass: Option[String] = None,
+    messageParameters: Map[String, String] = Map.empty,
+    context: Array[QueryContext] = Array.empty)
+  extends AnalysisException(
+    message,
+    line,
+    startPosition,
+    cause,
+    errorClass,
+    messageParameters,
+    context) {
+
+  def this(e: AnalysisException, plan: LogicalPlan) = {
+    this(
+      e.message,
+      e.line,
+      e.startPosition,
+      Option(plan),
+      e.cause,
+      e.errorClass,
+      e.messageParameters,
+      e.context)
+    setStackTrace(e.getStackTrace)
+  }
+
+  override def copy(
+      message: String,
+      line: Option[Int],
+      startPosition: Option[Int],
+      cause: Option[Throwable],
+      errorClass: Option[String],
+      messageParameters: Map[String, String],
+      context: Array[QueryContext]): ExtendedAnalysisException = {
+    new ExtendedAnalysisException(message, line, startPosition, plan, cause, errorClass,
+      messageParameters, context)
+  }
+
+  override def getMessage: String = {
+    val planAnnotation = Option(plan).flatten.map(p => s";\n$p").getOrElse("")
+    getSimpleMessage + planAnnotation
+  }
+
+  override def toString: String = {
+    val message = getLocalizedMessage
+    if (message != null) {
+      ExtendedAnalysisException.name + ": " + message
+    } else {
+      ExtendedAnalysisException.name
+    }
+  }
+}
+
+object ExtendedAnalysisException {
+  private val name = classOf[AnalysisException].getName
+}
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
index 55433ea04b8..ed037f3fd98 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
@@ -29,7 +29,7 @@ import org.apache.spark.sql.AnalysisException
 import org.apache.spark.sql.catalyst._
 import org.apache.spark.sql.catalyst.catalog._
 import org.apache.spark.sql.catalyst.encoders.OuterScopes
-import org.apache.spark.sql.catalyst.expressions.{Expression, FrameLessOffsetWindowFunction, _}
+import org.apache.spark.sql.catalyst.expressions._
 import org.apache.spark.sql.catalyst.expressions.SubExprUtils._
 import org.apache.spark.sql.catalyst.expressions.aggregate._
 import org.apache.spark.sql.catalyst.expressions.objects._
@@ -212,9 +212,7 @@ class Analyzer(override val catalogManager: CatalogManager) extends RuleExecutor
         analyzed
       } catch {
         case e: AnalysisException =>
-          val ae = e.copy(plan = Option(analyzed))
-          ae.setStackTrace(e.getStackTrace)
-          throw ae
+          throw new ExtendedAnalysisException(e, analyzed)
       }
     }
   }
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveTimeWindows.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveTimeWindows.scala
index 5ce6a531cf0..1ee218f9369 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveTimeWindows.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveTimeWindows.scala
@@ -17,7 +17,7 @@
 
 package org.apache.spark.sql.catalyst.analysis
 
-import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.catalyst.ExtendedAnalysisException
 import org.apache.spark.sql.catalyst.expressions.{Alias, Attribute, AttributeReference, CaseWhen, Cast, CreateNamedStruct, Expression, GetStructField, IsNotNull, LessThan, Literal, PreciseTimestampConversion, SessionWindow, Subtract, TimeWindow, WindowTime}
 import org.apache.spark.sql.catalyst.plans.logical.{Expand, Filter, LogicalPlan, Project}
 import org.apache.spark.sql.catalyst.rules.Rule
@@ -310,7 +310,7 @@ object ResolveWindowTime extends Rule[LogicalPlan] {
           if (!metadata.contains(TimeWindow.marker) &&
             !metadata.contains(SessionWindow.marker)) {
             // FIXME: error framework?
-            throw new AnalysisException(
+            throw new ExtendedAnalysisException(
               s"The input is not a correct window column: $windowTime", plan = Some(p))
           }
 
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/UnsupportedOperationChecker.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/UnsupportedOperationChecker.scala
index 2a09d85d8f2..b86306e6a0c 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/UnsupportedOperationChecker.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/UnsupportedOperationChecker.scala
@@ -19,6 +19,7 @@ package org.apache.spark.sql.catalyst.analysis
 
 import org.apache.spark.internal.Logging
 import org.apache.spark.sql.AnalysisException
+import org.apache.spark.sql.catalyst.ExtendedAnalysisException
 import org.apache.spark.sql.catalyst.expressions.{Attribute, AttributeReference, BinaryComparison, CurrentDate, CurrentTimestampLike, Expression, GreaterThan, GreaterThanOrEqual, GroupingSets, LessThan, LessThanOrEqual, LocalTimestamp, MonotonicallyIncreasingID, SessionWindow, WindowExpression}
 import org.apache.spark.sql.catalyst.expressions.aggregate.AggregateExpression
 import org.apache.spark.sql.catalyst.plans._
@@ -570,7 +571,7 @@ object UnsupportedOperationChecker extends Logging {
   }
 
   private def throwError(msg: String)(implicit operator: LogicalPlan): Nothing = {
-    throw new AnalysisException(
+    throw new ExtendedAnalysisException(
       msg, operator.origin.line, operator.origin.startPosition, Some(operator))
   }
 
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala
index b2eee0dee98..79b8e9f389e 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala
@@ -23,7 +23,7 @@ import org.apache.hadoop.fs.Path
 
 import org.apache.spark.{SPARK_DOC_ROOT, SparkException, SparkThrowable, SparkThrowableHelper, SparkUnsupportedOperationException}
 import org.apache.spark.sql.AnalysisException
-import org.apache.spark.sql.catalyst.{FunctionIdentifier, QualifiedTableName, TableIdentifier}
+import org.apache.spark.sql.catalyst.{ExtendedAnalysisException, FunctionIdentifier, QualifiedTableName, TableIdentifier}
 import org.apache.spark.sql.catalyst.analysis.{CannotReplaceMissingTableException, FunctionAlreadyExistsException, NamespaceAlreadyExistsException, NoSuchFunctionException, NoSuchNamespaceException, NoSuchPartitionException, NoSuchTableException, ResolvedTable, Star, TableAlreadyExistsException, UnresolvedRegex}
 import org.apache.spark.sql.catalyst.catalog.{CatalogTable, InvalidUDFClassException}
 import org.apache.spark.sql.catalyst.catalog.CatalogTypes.TablePartitionSpec
@@ -1895,7 +1895,7 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase {
 
   def streamJoinStreamWithoutEqualityPredicateUnsupportedError(plan: LogicalPlan): Throwable = {
     val errorClass = "_LEGACY_ERROR_TEMP_1181"
-    new AnalysisException(
+    new ExtendedAnalysisException(
       SparkThrowableHelper.getMessage(errorClass, Map.empty[String, String]),
       errorClass = Some(errorClass),
       messageParameters = Map.empty,
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/array.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/array.sql.out
index b71d0aad152..12ad7ce436b 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/array.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/array.sql.out
@@ -170,7 +170,7 @@ Project [sort_array(boolean_array#x, true) AS sort_array(boolean_array, true)#x,
 -- !query
 select sort_array(array('b', 'd'), '1')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -194,7 +194,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select sort_array(array('b', 'd'), cast(NULL as boolean))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -353,7 +353,7 @@ Project [array_size(cast(null as array<void>)) AS array_size(NULL)#x]
 -- !query
 select array_size(map('a', 1, 'b', 2))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -475,7 +475,7 @@ Project [array_insert(array(1, 3, 4), -2, 2) AS array_insert(array(1, 3, 4), -2,
 -- !query
 select array_insert(array(1, 2, 3), 3, "4")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.ARRAY_FUNCTION_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -534,7 +534,7 @@ Project [array_insert(array(2, 3, cast(null as int), 4), -5, 1) AS array_insert(
 -- !query
 select array_compact(id) from values (1) as t(id)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/cast.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/cast.sql.out
index 730704b3cbf..caa324b335c 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/cast.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/cast.sql.out
@@ -205,7 +205,7 @@ Project [hex(cast(abc as binary)) AS hex(CAST(abc AS BINARY))#x]
 -- !query
 SELECT HEX(CAST(CAST(123 AS byte) AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -229,7 +229,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(CAST(-123 AS byte) AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -253,7 +253,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(123S AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -277,7 +277,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(-123S AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -301,7 +301,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(123 AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -325,7 +325,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(-123 AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -349,7 +349,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(123L AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
@@ -373,7 +373,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT HEX(CAST(-123L AS binary))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.CAST_WITH_CONF_SUGGESTION",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/date.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/date.sql.out
index 3765d65ec3b..4373f53dddf 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/date.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/date.sql.out
@@ -283,7 +283,7 @@ Project [date_add(cast(2011-11-11 as date), 1) AS date_add(2011-11-11, 1)#x]
 -- !query
 select date_add('2011-11-11', 1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -307,7 +307,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_add('2011-11-11', 1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -331,7 +331,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_add('2011-11-11', 1E1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -421,7 +421,7 @@ Project [date_sub(cast(2011-11-11 as date), 1) AS date_sub(2011-11-11, 1)#x]
 -- !query
 select date_sub('2011-11-11', 1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -445,7 +445,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', 1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -469,7 +469,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', 1E1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -574,7 +574,7 @@ Project [date_sub(cast(date_str#x as date), 1) AS date_sub(date_str, 1)#x]
 -- !query
 select date '2011-11-11' + 1E1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -658,7 +658,7 @@ select date '2001-09-28' - date_str from date_view
 -- !query
 select date'2011-11-11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -682,7 +682,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + date'2011-11-11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-disabled.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-disabled.sql.out
index d7587b0b658..d73b72eca3e 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-disabled.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-disabled.sql.out
@@ -114,7 +114,7 @@ org.apache.spark.sql.catalyst.parser.ParseException
 -- !query
 SELECT 1 FROM `hello`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -147,7 +147,7 @@ org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException
 -- !query
 ALTER TABLE `not_exist` ADD COLUMN not_exist int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -167,7 +167,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 ALTER TABLE not_exist ADD COLUMN `not_exist` int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -187,7 +187,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 AS `not_exist` FROM `not_exist`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -207,7 +207,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 FROM not_exist AS X(`hello`)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-enabled.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-enabled.sql.out
index 2a6bcce99d1..0a009a3a282 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-enabled.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/double-quoted-identifiers-enabled.sql.out
@@ -2,7 +2,7 @@
 -- !query
 SELECT 1 FROM "not_exist"
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -35,7 +35,7 @@ org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException
 -- !query
 ALTER TABLE "not_exist" ADD COLUMN not_exist int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -55,7 +55,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 ALTER TABLE not_exist ADD COLUMN "not_exist" int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -75,7 +75,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 AS "not_exist" FROM not_exist
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -95,7 +95,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 FROM not_exist AS X("hello")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -157,7 +157,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 FROM `hello`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -190,7 +190,7 @@ org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException
 -- !query
 ALTER TABLE `not_exist` ADD COLUMN not_exist int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -210,7 +210,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 ALTER TABLE not_exist ADD COLUMN `not_exist` int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -230,7 +230,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 AS `not_exist` FROM `not_exist`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -250,7 +250,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 FROM not_exist AS X(`hello`)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -312,7 +312,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT "hello"
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/interval.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/interval.sql.out
index 19c77c8de90..1120c40ac15 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/interval.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/interval.sql.out
@@ -159,7 +159,7 @@ Project [(INTERVAL '2' YEAR * cast(a as double)) AS (INTERVAL '2' YEAR * a)#x]
 -- !query
 select '2' / interval 2 second
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -181,7 +181,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '2' / interval 2 year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -259,7 +259,7 @@ Project [(INTERVAL '2' YEAR * cast(null as double)) AS (INTERVAL '2' YEAR * NULL
 -- !query
 select 2 / interval '2' year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -281,7 +281,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select 2 / interval '2' hour
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -303,7 +303,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null / interval '2' year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -325,7 +325,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null / interval '2' hour
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1515,7 +1515,7 @@ select
   '4 day' + interval '10' day,
   '4 22 day to hour' - interval '10' day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1552,7 +1552,7 @@ Project [(INTERVAL '2' YEAR + cast(null as interval year)) AS (INTERVAL '2' YEAR
 -- !query
 select interval '2' year + '3-3'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1574,7 +1574,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' year - '4'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1618,7 +1618,7 @@ CreateViewCommand `interval_view`, select '1' str, false, false, LocalTempView,
 -- !query
 select interval '2' year + str from interval_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1640,7 +1640,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' year - str from interval_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1684,7 +1684,7 @@ Project [cast(cast(str#x as timestamp) + INTERVAL '4 22:12' DAY TO MINUTE as str
 -- !query
 select interval '2-2' year to month + interval '3' day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1708,7 +1708,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '3' day + interval '2-2' year to month
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1732,7 +1732,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2-2' year to month - interval '3' day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1756,7 +1756,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '3' day - interval '2-2' year to month
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1778,7 +1778,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select 1 - interval '2' second
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1802,7 +1802,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select 1 + interval '2' month
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1824,7 +1824,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' second + 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1848,7 +1848,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' month - 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2694,7 +2694,7 @@ Project [(INTERVAL '-1-1' YEAR TO MONTH = cast(INTERVAL '-13' MONTH as interval
 -- !query
 SELECT INTERVAL 1 MONTH > INTERVAL 20 DAYS
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2716,7 +2716,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' DAY < '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2738,7 +2738,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' DAY = '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2760,7 +2760,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' DAY > '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2782,7 +2782,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' < INTERVAL '1' DAY
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2804,7 +2804,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' = INTERVAL '1' DAY
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2826,7 +2826,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' > INTERVAL '1' DAY
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2848,7 +2848,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' YEAR < '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2870,7 +2870,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' YEAR = '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2892,7 +2892,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' YEAR > '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2914,7 +2914,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' < INTERVAL '1' YEAR
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2936,7 +2936,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' = INTERVAL '1' YEAR
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2958,7 +2958,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' > INTERVAL '1' YEAR
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2994,7 +2994,7 @@ Project [array(cast(INTERVAL '1' DAY as interval day to minute), cast(INTERVAL '
 -- !query
 SELECT array(INTERVAL 1 MONTH, INTERVAL 20 DAYS)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3030,7 +3030,7 @@ Project [coalesce(cast(INTERVAL '1' DAY as interval day to minute), cast(INTERVA
 -- !query
 SELECT coalesce(INTERVAL 1 MONTH, INTERVAL 20 DAYS)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3094,7 +3094,7 @@ Project [(INTERVAL '1 06' DAY TO HOUR div cast(INTERVAL '-01' HOUR as interval d
 -- !query
 SELECT div(INTERVAL '1' MONTH, INTERVAL '-1' DAY)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/literals.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/literals.sql.out
index dd3cf597c95..53c7327c587 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/literals.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/literals.sql.out
@@ -474,7 +474,7 @@ Project [3.14 AS 3.14#x, -3.14 AS -3.14#x, 3.14E8 AS 3.14E8#x, 3.14E-8 AS 3.14E-
 -- !query
 select +date '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -498,7 +498,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +timestamp '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -529,7 +529,7 @@ Project [positive(INTERVAL '1' DAY) AS (+ INTERVAL '1' DAY)#x]
 -- !query
 select +map(1, 2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -553,7 +553,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +array(1,2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -577,7 +577,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +named_struct('a', 1, 'b', 'spark')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -601,7 +601,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +X'1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -625,7 +625,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select -date '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -649,7 +649,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select -timestamp '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -673,7 +673,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select -x'2379ACFe'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/map.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/map.sql.out
index c55250e4dcb..177f73608fb 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/map.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/map.sql.out
@@ -58,7 +58,7 @@ Project [map_contains_key(map(cast(1.0 as decimal(11,1)), a, cast(2 as decimal(1
 -- !query
 select map_contains_key(map('1', 'a', '2', 'b'), 1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.MAP_FUNCTION_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -82,7 +82,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select map_contains_key(map(1, 'a', 2, 'b'), '1')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.MAP_FUNCTION_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/string-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/string-functions.sql.out
index 9a66950d365..f879f2450c9 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/string-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/string-functions.sql.out
@@ -1266,7 +1266,7 @@ Project [to_binary(cast(null as string), Some(cast(null as string)), false) AS t
 -- !query
 select to_binary('abc', 1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INVALID_ARG_VALUE",
   "sqlState" : "42K09",
@@ -1290,7 +1290,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select to_binary('abc', 'invalidFormat')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INVALID_ARG_VALUE",
   "sqlState" : "42K09",
@@ -1322,7 +1322,7 @@ CreateViewCommand `fmtTable`, [(fmtField,None)], SELECT * FROM VALUES ('invalidF
 -- !query
 SELECT to_binary('abc', fmtField) FROM fmtTable
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/timestamp.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/timestamp.sql.out
index c4858ac10ae..d06813dc675 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/timestamp.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/timestamp.sql.out
@@ -595,7 +595,7 @@ select timestamp'2011-11-11 11:11:11' - str from ts_view
 -- !query
 select timestamp'2011-11-11 11:11:11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -617,7 +617,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -639,7 +639,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + null
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -661,7 +661,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/try_arithmetic.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/try_arithmetic.sql.out
index e8506a8589d..bbc07c22805 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/try_arithmetic.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/ansi/try_arithmetic.sql.out
@@ -134,7 +134,7 @@ Project [try_add(INTERVAL '02' SECOND, INTERVAL '02' SECOND) AS try_add(INTERVAL
 -- !query
 SELECT try_add(interval 2 year, interval 2 second)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/array.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/array.sql.out
index 91cbd844d99..af06b9959ee 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/array.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/array.sql.out
@@ -170,7 +170,7 @@ Project [sort_array(boolean_array#x, true) AS sort_array(boolean_array, true)#x,
 -- !query
 select sort_array(array('b', 'd'), '1')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -194,7 +194,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select sort_array(array('b', 'd'), cast(NULL as boolean))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -353,7 +353,7 @@ Project [array_size(cast(null as array<void>)) AS array_size(NULL)#x]
 -- !query
 select array_size(map('a', 1, 'b', 2))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -475,7 +475,7 @@ Project [array_insert(array(1, 3, 4), -2, 2) AS array_insert(array(1, 3, 4), -2,
 -- !query
 select array_insert(array(1, 2, 3), 3, "4")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.ARRAY_FUNCTION_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -534,7 +534,7 @@ Project [array_insert(array(2, 3, cast(null as int), 4), -5, 1) AS array_insert(
 -- !query
 select array_compact(id) from values (1) as t(id)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/bitwise.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/bitwise.sql.out
index ca960fc1aca..96a0000f4f7 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/bitwise.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/bitwise.sql.out
@@ -128,7 +128,7 @@ Project [bit_count(-9223372036854775808) AS bit_count(-9223372036854775808)#x]
 -- !query
 select bit_count("bit count")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -152,7 +152,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select bit_count('a')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/column-resolution-aggregate.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/column-resolution-aggregate.sql.out
index eb30443cbae..0c213899b64 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/column-resolution-aggregate.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/column-resolution-aggregate.sql.out
@@ -18,7 +18,7 @@ CreateViewCommand `v2`, VALUES (1, 1, 1), (2, 2, 1) AS t(x, y, all), false, fals
 -- !query
 SELECT max(a) AS b, b FROM v1 GROUP BY k
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -52,7 +52,7 @@ Project [a#x]
 -- !query
 SELECT a AS k FROM v1 GROUP BY k
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -66,7 +66,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT x FROM v2 GROUP BY all
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -80,7 +80,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT a AS all, b FROM v1 GROUP BY all
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/columnresolution-negative.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/columnresolution-negative.sql.out
index c80b9e82ab0..c9306e9d937 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/columnresolution-negative.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/columnresolution-negative.sql.out
@@ -255,7 +255,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT db1.t1.i1 FROM t1, mydb2.t1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -289,7 +289,7 @@ SetCatalogAndNamespace
 -- !query
 SELECT mydb1.t1 FROM t1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -330,7 +330,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT t1 FROM mydb1.t1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -358,7 +358,7 @@ SetCatalogAndNamespace
 -- !query
 SELECT mydb1.t1.i1 FROM t1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/csv-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/csv-functions.sql.out
index cfdbc0ce2e9..cb3feb8d168 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/csv-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/csv-functions.sql.out
@@ -36,7 +36,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select from_csv('1', 'a InvalidType')
 -- !query analysis
-org.apache.spark.sql.catalyst.parser.ParseException
+org.apache.spark.sql.AnalysisException
 {
   "errorClass" : "PARSE_SYNTAX_ERROR",
   "sqlState" : "42601",
@@ -152,7 +152,7 @@ Project [schema_of_csv(1|abc, (delimiter,|)) AS schema_of_csv(1|abc)#x]
 -- !query
 select schema_of_csv(null)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_NULL",
   "sqlState" : "42K09",
@@ -181,7 +181,7 @@ CreateViewCommand `csvTable`, [(csvField,None), (a,None)], SELECT * FROM VALUES
 -- !query
 SELECT schema_of_csv(csvField) FROM csvTable
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-legacy.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-legacy.sql.out
index 6006c0a47ee..594a30b054e 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-legacy.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-legacy.sql.out
@@ -52,7 +52,7 @@ SELECT * FROM
 UNION
 SELECT * FROM cte
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -327,7 +327,7 @@ WITH
   )
 SELECT * FROM t2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -381,7 +381,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -412,7 +412,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -445,7 +445,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
index 2902f5c1303..d96965edde1 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nested.sql.out
@@ -67,7 +67,7 @@ SELECT * FROM
 UNION
 SELECT * FROM cte
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -513,7 +513,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -546,7 +546,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
index 689bffd58e2..bd9b443d01d 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte-nonlegacy.sql.out
@@ -67,7 +67,7 @@ SELECT * FROM
 UNION
 SELECT * FROM cte
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -589,7 +589,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -622,7 +622,7 @@ SELECT * FROM (
   SELECT * FROM cte_inner
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
index 1c6e6718fc5..b9a0f776528 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/cte.sql.out
@@ -20,7 +20,7 @@ CreateViewCommand `t2`, select * from values 0, 1 as t(id), false, false, LocalT
 -- !query
 WITH s AS (SELECT 1 FROM s) SELECT * FROM s
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -41,7 +41,7 @@ org.apache.spark.sql.AnalysisException
 WITH r AS (SELECT (SELECT * FROM r))
 SELECT * FROM r
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -79,7 +79,7 @@ WithCTE
 -- !query
 WITH s1 AS (SELECT 1 FROM s2), s2 AS (SELECT 1 FROM s1) SELECT * FROM s1, s2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -251,7 +251,7 @@ org.apache.spark.sql.catalyst.parser.ParseException
 WITH t AS (SELECT 1 FROM non_existing_table)
 SELECT 2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -430,7 +430,7 @@ WithCTE
 with cte as (select id as id_alias from t)
 select id from cte
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -453,7 +453,7 @@ with r1 as (select * from r2),
      r2 as (select 1)
 select 2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -521,7 +521,7 @@ SELECT * FROM
   (WITH q AS (select 1 x) SELECT x+1 AS y FROM q),
   q
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -728,7 +728,7 @@ WithCTE
 -- !query
 with cte AS (SELECT * FROM va) SELECT * FROM cte
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -748,7 +748,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 with cte as (select * from cte) select * from cte
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/date.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/date.sql.out
index 42ea145c90f..227127a353d 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/date.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/date.sql.out
@@ -283,7 +283,7 @@ Project [date_add(cast(2011-11-11 as date), 1) AS date_add(2011-11-11, 1)#x]
 -- !query
 select date_add('2011-11-11', 1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -307,7 +307,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_add('2011-11-11', 1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -331,7 +331,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_add('2011-11-11', 1E1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -427,7 +427,7 @@ Project [date_sub(cast(2011-11-11 as date), 1) AS date_sub(2011-11-11, 1)#x]
 -- !query
 select date_sub('2011-11-11', 1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -451,7 +451,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', 1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -475,7 +475,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', 1E1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -543,7 +543,7 @@ Project [date_sub(cast(2011-11-11 12:12:12 as date), 1) AS date_sub(TIMESTAMP_NT
 -- !query
 select date_add('2011-11-11', int_str) from date_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -567,7 +567,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', int_str) from date_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -613,7 +613,7 @@ Project [date_sub(cast(date_str#x as date), 1) AS date_sub(date_str, 1)#x]
 -- !query
 select date '2011-11-11' + 1E1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -661,7 +661,7 @@ select date '2001-10-01' - date '2001-09-28'
 -- !query
 select date '2001-10-01' - '2001-09-28'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -709,7 +709,7 @@ select date_str - date '2001-09-28' from date_view
 -- !query
 select date '2001-09-28' - date_str from date_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -733,7 +733,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date'2011-11-11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -757,7 +757,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + date'2011-11-11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/datetime-legacy.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/datetime-legacy.sql.out
index 524a87262b2..8ae2893a0a8 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/datetime-legacy.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/datetime-legacy.sql.out
@@ -283,7 +283,7 @@ Project [date_add(cast(2011-11-11 as date), 1) AS date_add(2011-11-11, 1)#x]
 -- !query
 select date_add('2011-11-11', 1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -307,7 +307,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_add('2011-11-11', 1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -331,7 +331,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_add('2011-11-11', 1E1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -427,7 +427,7 @@ Project [date_sub(cast(2011-11-11 as date), 1) AS date_sub(2011-11-11, 1)#x]
 -- !query
 select date_sub('2011-11-11', 1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -451,7 +451,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', 1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -475,7 +475,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', 1E1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -543,7 +543,7 @@ Project [date_sub(cast(2011-11-11 12:12:12 as date), 1) AS date_sub(TIMESTAMP_NT
 -- !query
 select date_add('2011-11-11', int_str) from date_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -567,7 +567,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date_sub('2011-11-11', int_str) from date_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -613,7 +613,7 @@ Project [date_sub(cast(date_str#x as date), 1) AS date_sub(date_str, 1)#x]
 -- !query
 select date '2011-11-11' + 1E1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -661,7 +661,7 @@ select date '2001-10-01' - date '2001-09-28'
 -- !query
 select date '2001-10-01' - '2001-09-28'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -709,7 +709,7 @@ select date_str - date '2001-09-28' from date_view
 -- !query
 select date '2001-09-28' - date_str from date_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -733,7 +733,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select date'2011-11-11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -757,7 +757,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + date'2011-11-11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1582,7 +1582,7 @@ select timestamp'2019-10-06 10:11:12.345678' - date'2020-01-01'
 -- !query
 select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1606,7 +1606,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1650,7 +1650,7 @@ CreateViewCommand `ts_view`, select '2011-11-11 11:11:11' str, false, false, Loc
 -- !query
 select str - timestamp'2011-11-11 11:11:11' from ts_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1674,7 +1674,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' - str from ts_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1698,7 +1698,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1720,7 +1720,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1742,7 +1742,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + null
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1764,7 +1764,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers.sql.out
index d7587b0b658..d73b72eca3e 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/double-quoted-identifiers.sql.out
@@ -114,7 +114,7 @@ org.apache.spark.sql.catalyst.parser.ParseException
 -- !query
 SELECT 1 FROM `hello`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -147,7 +147,7 @@ org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException
 -- !query
 ALTER TABLE `not_exist` ADD COLUMN not_exist int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -167,7 +167,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 ALTER TABLE not_exist ADD COLUMN `not_exist` int
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -187,7 +187,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 AS `not_exist` FROM `not_exist`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -207,7 +207,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 FROM not_exist AS X(`hello`)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/except-all.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/except-all.sql.out
index dedc3f93ba6..fc648785cb5 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/except-all.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/except-all.sql.out
@@ -199,7 +199,7 @@ SELECT * FROM tab1
 EXCEPT ALL
 SELECT array(1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INCOMPATIBLE_COLUMN_TYPE",
   "sqlState" : "42825",
@@ -376,7 +376,7 @@ SELECT k FROM tab3
 EXCEPT ALL
 SELECT k, v FROM tab4
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "NUM_COLUMNS_MISMATCH",
   "sqlState" : "42826",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/group-analytics.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/group-analytics.sql.out
index 327caef217a..592a19f593c 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/group-analytics.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/group-analytics.sql.out
@@ -330,7 +330,7 @@ Aggregate [course#x, year#x, spark_grouping_id#xL], [course#x, year#x, cast((shi
 -- !query
 SELECT course, year, GROUPING(course) FROM courseSales GROUP BY course, year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_GROUPING_EXPRESSION",
   "queryContext" : [ {
@@ -346,7 +346,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT course, year, GROUPING_ID(course, year) FROM courseSales GROUP BY course, year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_GROUPING_EXPRESSION",
   "queryContext" : [ {
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-duckdb.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-duckdb.sql.out
index 53863a81202..59ecafccbeb 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-duckdb.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-duckdb.sql.out
@@ -73,7 +73,7 @@ Sort [((g + i) % 2)#x ASC NULLS FIRST], true
 -- !query
 SELECT (g+i)%2 + SUM(i), SUM(i), SUM(g) FROM integers GROUP BY ALL ORDER BY 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_ALL_IN_GROUP_BY",
   "sqlState" : "42803",
@@ -126,7 +126,7 @@ Sort [c0#x ASC NULLS FIRST], true
 -- !query
 SELECT c0 FROM (SELECT 1 c0, 1 c1 UNION ALL SELECT 1, 2) t0 GROUP BY ALL HAVING c1>0 ORDER BY c0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-mosha.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-mosha.sql.out
index a9fc06c1f52..f63f3e8c845 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-mosha.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all-mosha.sql.out
@@ -72,7 +72,7 @@ Sort [(i + 1)#x ASC NULLS FIRST, substring(s, 2, 3)#x ASC NULLS FIRST, extract(y
 -- !query
 SELECT i + SUM(f) FROM stuff GROUP BY ALL
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_ALL_IN_GROUP_BY",
   "sqlState" : "42803",
@@ -130,7 +130,7 @@ Filter (si#xL < cast(2 as bigint))
 -- !query
 SELECT SUM(i) si FROM stuff GROUP BY ALL HAVING i > 2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -151,7 +151,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT SUM(i) si FROM stuff GROUP BY ALL ORDER BY i DESC
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
index d193e97f79b..529141e0693 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-all.sql.out
@@ -224,7 +224,7 @@ Aggregate [count(1) AS count(1)#xL]
 -- !query
 select id + count(*) from data group by all
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_ALL_IN_GROUP_BY",
   "sqlState" : "42803",
@@ -241,7 +241,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select (id + id) / 2 + count(*) * 2 from data group by all
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_ALL_IN_GROUP_BY",
   "sqlState" : "42803",
@@ -315,7 +315,7 @@ Aggregate [country#x, scalar-subquery#x [country#x]], [country#x, scalar-subquer
 -- !query
 select (select count(*) from data d1 where d1.country = d2.country) + count(id) from data d2 group by all
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_ALL_IN_GROUP_BY",
   "sqlState" : "42803",
@@ -332,7 +332,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select non_exist from data group by all
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-filter.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-filter.sql.out
index 7b221d8036d..df2e409fafe 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-filter.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by-filter.sql.out
@@ -67,7 +67,7 @@ AS DEPT(dept_id, dept_name, state), false, true, LocalTempView, true
 -- !query
 SELECT a, COUNT(b) FILTER (WHERE a >= 2) FROM testData
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_GROUP_BY",
   "sqlState" : "42803",
@@ -324,7 +324,7 @@ Aggregate [a#x], [a#x, count(b#x) FILTER (WHERE (a#x >= 2)) AS count(b) FILTER (
 -- !query
 SELECT a, COUNT(b) FILTER (WHERE a != 2) FROM testData GROUP BY b
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -754,7 +754,7 @@ Aggregate [(a#x + b#x)], [(a#x + b#x) AS (a + b)#x, count(b#x) FILTER (WHERE (b#
 -- !query
 SELECT a + 2, COUNT(b) FILTER (WHERE b IN (1, 2)) FROM testData GROUP BY a + 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by.sql.out
index e12af0103d4..67e1ddd32ea 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/group-by.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/group-by.sql.out
@@ -15,7 +15,7 @@ AS testData(a, b), false, true, LocalTempView, true
 -- !query
 SELECT a, COUNT(b) FROM testData
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_GROUP_BY",
   "sqlState" : "42803",
@@ -56,7 +56,7 @@ Aggregate [a#x], [a#x, count(b#x) AS count(b)#xL]
 -- !query
 SELECT a, COUNT(b) FROM testData GROUP BY b
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -145,7 +145,7 @@ Aggregate [(a#x + b#x)], [(a#x + b#x) AS (a + b)#x, count(b#x) AS count(b)#xL]
 -- !query
 SELECT a + 2, COUNT(b) FROM testData GROUP BY a + 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -230,7 +230,7 @@ Filter (k#x > 1)
 -- !query
 SELECT a AS k, COUNT(non_existing) FROM testData GROUP BY k
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -251,7 +251,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT COUNT(b) AS k FROM testData GROUP BY k
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "GROUP_BY_AGGREGATE",
   "sqlState" : "42903",
@@ -282,7 +282,7 @@ CreateViewCommand `testDataHasSameNameWithAlias`, SELECT * FROM VALUES
 -- !query
 SELECT k AS a, COUNT(v) FROM testDataHasSameNameWithAlias GROUP BY a
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
@@ -302,7 +302,7 @@ SetCommand (spark.sql.groupByAliases,Some(false))
 -- !query
 SELECT a AS k, COUNT(b) FROM testData GROUP BY k
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -410,7 +410,7 @@ Project [1#x]
 -- !query
 SELECT id FROM range(10) HAVING id > 0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_GROUP_BY",
   "sqlState" : "42803",
@@ -441,7 +441,7 @@ Filter cast(true as boolean)
 -- !query
 SELECT 1 FROM range(10) HAVING MAX(id) > 0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WHERE_CONDITION",
   "sqlState" : "42903",
@@ -628,7 +628,7 @@ Aggregate [k#x], [k#x, every(v#x) AS every#x]
 -- !query
 SELECT every(1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -652,7 +652,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT some(1S)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -676,7 +676,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT any(1L)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -700,7 +700,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT every("true")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -724,7 +724,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT bool_and(1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -748,7 +748,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT bool_or(1.0D)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -888,7 +888,7 @@ Project [cnt#xL]
 -- !query
 SELECT count(*) FROM test_agg WHERE count(*) > 1L
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WHERE_CONDITION",
   "sqlState" : "42903",
@@ -909,7 +909,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT count(*) FROM test_agg WHERE count(*) + 1L > 1L
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WHERE_CONDITION",
   "sqlState" : "42903",
@@ -930,7 +930,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT count(*) FROM test_agg WHERE k = 1 or k = 2 or count(*) + 1L > 1L or max(k) > 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WHERE_CONDITION",
   "sqlState" : "42903",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/grouping_set.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/grouping_set.sql.out
index 8073cc8acc3..bb453923ce9 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/grouping_set.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/grouping_set.sql.out
@@ -187,7 +187,7 @@ org.apache.spark.sql.catalyst.parser.ParseException
 -- !query
 SELECT c1 FROM (values (1,2), (3,2)) t(c1, c2) GROUP BY GROUPING SETS (())
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_AGGREGATION",
   "sqlState" : "42803",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/having.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/having.sql.out
index ec67de27390..12eb5a34146 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/having.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/having.sql.out
@@ -48,7 +48,7 @@ Project [count(k)#xL]
 -- !query
 SELECT count(k) FROM hav GROUP BY v HAVING v = array(1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/hll.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/hll.sql.out
index 58391c0054c..cd6fcc7c459 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/hll.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/hll.sql.out
@@ -80,7 +80,7 @@ Aggregate [hll_sketch_estimate(hll_union_agg(sketch#x, true, 0, 0)) AS hll_sketc
 SELECT hll_sketch_agg(col)
 FROM VALUES (ARRAY(1, 2)), (ARRAY(3, 4)) tab(col)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -163,7 +163,7 @@ SELECT hll_union(1, 2)
     (2, 5),
     (3, 6) AS tab(col1, col2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
index 367d492905d..00e2d8ff8ae 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/identifier-clause.sql.out
@@ -890,7 +890,7 @@ org.apache.spark.sql.catalyst.parser.ParseException
 -- !query
 SELECT IDENTIFIER('t').c1 FROM VALUES(1) AS T(c1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/intersect-all.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/intersect-all.sql.out
index 105741b80a2..2535544343d 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/intersect-all.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/intersect-all.sql.out
@@ -161,7 +161,7 @@ SELECT * FROM tab1
 INTERSECT ALL
 SELECT array(1), 2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INCOMPATIBLE_COLUMN_TYPE",
   "sqlState" : "42825",
@@ -188,7 +188,7 @@ SELECT k FROM tab1
 INTERSECT ALL
 SELECT k, v FROM tab2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "NUM_COLUMNS_MISMATCH",
   "sqlState" : "42826",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/interval.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/interval.sql.out
index 19abe19e4c6..337edd5980c 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/interval.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/interval.sql.out
@@ -159,7 +159,7 @@ Project [(INTERVAL '2' YEAR * cast(a as double)) AS (INTERVAL '2' YEAR * a)#x]
 -- !query
 select '2' / interval 2 second
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -181,7 +181,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '2' / interval 2 year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -259,7 +259,7 @@ Project [(INTERVAL '2' YEAR * cast(null as double)) AS (INTERVAL '2' YEAR * NULL
 -- !query
 select 2 / interval '2' year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -281,7 +281,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select 2 / interval '2' hour
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -303,7 +303,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null / interval '2' year
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -325,7 +325,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null / interval '2' hour
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1515,7 +1515,7 @@ select
   '4 day' + interval '10' day,
   '4 22 day to hour' - interval '10' day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1552,7 +1552,7 @@ Project [(INTERVAL '2' YEAR + cast(null as interval year)) AS (INTERVAL '2' YEAR
 -- !query
 select interval '2' year + '3-3'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1574,7 +1574,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' year - '4'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1618,7 +1618,7 @@ CreateViewCommand `interval_view`, select '1' str, false, false, LocalTempView,
 -- !query
 select interval '2' year + str from interval_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1640,7 +1640,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' year - str from interval_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1684,7 +1684,7 @@ Project [cast(cast(str#x as timestamp) + INTERVAL '4 22:12' DAY TO MINUTE as str
 -- !query
 select interval '2-2' year to month + interval '3' day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1708,7 +1708,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '3' day + interval '2-2' year to month
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1732,7 +1732,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2-2' year to month - interval '3' day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1756,7 +1756,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '3' day - interval '2-2' year to month
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1778,7 +1778,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select 1 - interval '2' second
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1802,7 +1802,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select 1 + interval '2' month
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1824,7 +1824,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' second + 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1848,7 +1848,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval '2' month - 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2694,7 +2694,7 @@ Project [(INTERVAL '-1-1' YEAR TO MONTH = cast(INTERVAL '-13' MONTH as interval
 -- !query
 SELECT INTERVAL 1 MONTH > INTERVAL 20 DAYS
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2716,7 +2716,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' DAY < '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2738,7 +2738,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' DAY = '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2760,7 +2760,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' DAY > '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2782,7 +2782,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' < INTERVAL '1' DAY
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2804,7 +2804,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' = INTERVAL '1' DAY
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2826,7 +2826,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' > INTERVAL '1' DAY
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2848,7 +2848,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' YEAR < '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2870,7 +2870,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' YEAR = '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2892,7 +2892,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT INTERVAL '1' YEAR > '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2914,7 +2914,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' < INTERVAL '1' YEAR
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2936,7 +2936,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' = INTERVAL '1' YEAR
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2958,7 +2958,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT '1' > INTERVAL '1' YEAR
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2994,7 +2994,7 @@ Project [array(cast(INTERVAL '1' DAY as interval day to minute), cast(INTERVAL '
 -- !query
 SELECT array(INTERVAL 1 MONTH, INTERVAL 20 DAYS)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3030,7 +3030,7 @@ Project [coalesce(cast(INTERVAL '1' DAY as interval day to minute), cast(INTERVA
 -- !query
 SELECT coalesce(INTERVAL 1 MONTH, INTERVAL 20 DAYS)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3094,7 +3094,7 @@ Project [(INTERVAL '1 06' DAY TO HOUR div cast(INTERVAL '-01' HOUR as interval d
 -- !query
 SELECT div(INTERVAL '1' MONTH, INTERVAL '-1' DAY)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
index a9bfbc69cf2..4c032b7cbf9 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/join-lateral.sql.out
@@ -443,7 +443,7 @@ Project [c1#x, c2#x, c1#x, c2#x, (outer(spark_catalog.default.t1.c2) + outer(spa
 -- !query
 SELECT * FROM t1 JOIN LATERAL (SELECT t1.c1 AS a, t2.c1 AS b) s JOIN t2 ON s.b = t2.c1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -475,7 +475,7 @@ SELECT x FROM (SELECT SUM(c1) AS x FROM t1), LATERAL (SELECT x + rand(0) AS y)
 -- !query
 SELECT * FROM t1, LATERAL (SELECT c1 + c2 + rand(0) AS c3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.NON_DETERMINISTIC_LATERAL_SUBQUERIES",
   "sqlState" : "0A000",
@@ -495,7 +495,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM t1, LATERAL (SELECT rand(0) FROM t2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.NON_DETERMINISTIC_LATERAL_SUBQUERIES",
   "sqlState" : "0A000",
@@ -515,7 +515,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM t1 JOIN LATERAL (SELECT * FROM t2) s ON t1.c1 + rand(0) = s.c1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.LATERAL_JOIN_CONDITION_NON_DETERMINISTIC",
   "sqlState" : "0A000",
@@ -655,7 +655,7 @@ Project [c1#x, c2#x, c1#x, m#x, m#x]
 -- !query
 SELECT * FROM t1, LATERAL (SELECT * FROM t2, LATERAL (SELECT t1.c1 + t2.c1))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -675,7 +675,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM t1, LATERAL (SELECT * FROM (SELECT c1), LATERAL (SELECT c2))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -736,7 +736,7 @@ Project [c1#x, c2#x, scalarsubquery(a)#xL]
 -- !query
 SELECT * FROM t1, LATERAL (SELECT c1, (SELECT SUM(c2) FROM t2 WHERE c1 = t1.c1))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -1384,7 +1384,7 @@ SELECT * FROM t1 JOIN LATERAL
   FROM   t2
   WHERE  t2.c1 >= t1.c1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1915,7 +1915,7 @@ SELECT * FROM t1 JOIN LATERAL
   WHERE  t4.c1 > t1.c2
   GROUP BY t4.c2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -1941,7 +1941,7 @@ SELECT * FROM t1 JOIN LATERAL
   SELECT t4.c2
   FROM   t4)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -2211,7 +2211,7 @@ SELECT * FROM t1 JOIN LATERAL (SELECT sum(c1) FROM
   ON lhs.c1 <=> rhs.c1 and lhs.c2 <=> rhs.c2
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -2768,7 +2768,7 @@ Project [col0#x, col1#x]
 -- !query
 SELECT t.* FROM t1, LATERAL stack(c1, c2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/json-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/json-functions.sql.out
index 79a6bc7de7f..42b1ab8587b 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/json-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/json-functions.sql.out
@@ -152,7 +152,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select from_json('{"a":1}', 'a InvalidType')
 -- !query analysis
-org.apache.spark.sql.catalyst.parser.ParseException
+org.apache.spark.sql.AnalysisException
 {
   "errorClass" : "PARSE_SYNTAX_ERROR",
   "sqlState" : "42601",
@@ -428,7 +428,7 @@ Project [schema_of_json({"c1":01, "c2":0.1}, (allowNumericLeadingZeros,true), (p
 -- !query
 select schema_of_json(null)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_NULL",
   "sqlState" : "42K09",
@@ -457,7 +457,7 @@ CreateViewCommand `jsonTable`, [(jsonField,None), (a,None)], SELECT * FROM VALUE
 -- !query
 SELECT schema_of_json(jsonField) FROM jsonTable
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
@@ -487,7 +487,7 @@ Project [json_array_length(null) AS json_array_length(NULL)#x]
 -- !query
 select json_array_length(2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -620,7 +620,7 @@ Project [json_object_keys(null) AS json_object_keys(NULL)#x]
 -- !query
 select json_object_keys(200)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/limit.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/limit.sql.out
index f041026f308..d76a6685c10 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/limit.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/limit.sql.out
@@ -52,7 +52,7 @@ GlobalLimit cast(1 as int)
 -- !query
 SELECT * FROM testdata LIMIT -1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.IS_NEGATIVE",
   "messageParameters" : {
@@ -73,7 +73,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM testData TABLESAMPLE (-1 ROWS)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.IS_NEGATIVE",
   "messageParameters" : {
@@ -104,7 +104,7 @@ GlobalLimit cast(1 as int)
 -- !query
 SELECT * FROM testdata LIMIT CAST(NULL AS INT)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.IS_NULL",
   "messageParameters" : {
@@ -124,7 +124,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM testdata LIMIT key > 3
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.IS_UNFOLDABLE",
   "messageParameters" : {
@@ -144,7 +144,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM testdata LIMIT true
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.DATA_TYPE",
   "messageParameters" : {
@@ -158,7 +158,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM testdata LIMIT 'a'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.DATA_TYPE",
   "messageParameters" : {
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/literals.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/literals.sql.out
index dd3cf597c95..53c7327c587 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/literals.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/literals.sql.out
@@ -474,7 +474,7 @@ Project [3.14 AS 3.14#x, -3.14 AS -3.14#x, 3.14E8 AS 3.14E8#x, 3.14E-8 AS 3.14E-
 -- !query
 select +date '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -498,7 +498,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +timestamp '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -529,7 +529,7 @@ Project [positive(INTERVAL '1' DAY) AS (+ INTERVAL '1' DAY)#x]
 -- !query
 select +map(1, 2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -553,7 +553,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +array(1,2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -577,7 +577,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +named_struct('a', 1, 'b', 'spark')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -601,7 +601,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select +X'1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -625,7 +625,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select -date '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -649,7 +649,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select -timestamp '1999-01-01'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -673,7 +673,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select -x'2379ACFe'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/map.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/map.sql.out
index 79b12dc6891..cd8f0e043b9 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/map.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/map.sql.out
@@ -58,7 +58,7 @@ Project [map_contains_key(map(cast(1.0 as decimal(11,1)), a, cast(2 as decimal(1
 -- !query
 select map_contains_key(map('1', 'a', '2', 'b'), 1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.MAP_FUNCTION_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -82,7 +82,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select map_contains_key(map(1, 'a', 2, 'b'), '1')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.MAP_FUNCTION_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/mask-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/mask-functions.sql.out
index 1abe00ad470..a339dbf5718 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/mask-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/mask-functions.sql.out
@@ -37,7 +37,7 @@ Project [mask(AbCD123-@$#, Q, q, d, o) AS mask(AbCD123-@$#, Q, q, d, o)#x]
 -- !query
 SELECT mask('AbCD123-@$#', 'Qa', 'qa', 'da', 'oa')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INPUT_SIZE_NOT_ONE",
   "sqlState" : "42K09",
@@ -403,7 +403,7 @@ Project [mask(c1#x, null, null, null, null) AS mask(c1, NULL, NULL, NULL, NULL)#
 -- !query
 SELECT mask(c1, replaceArg) from values('abcd-EFGH-8765-4321', 'a') as t(c1, replaceArg)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
@@ -426,7 +426,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT mask(c1, replaceArg) from values('abcd-EFGH-8765-4321', 'ABC') as t(c1, replaceArg)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
@@ -449,7 +449,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT mask(c1, replaceArg) from values('abcd-EFGH-8765-4321', 123) as t(c1, replaceArg)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -473,7 +473,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT mask('abcd-EFGH-8765-4321', 'A', 'w', '')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INPUT_SIZE_NOT_ONE",
   "sqlState" : "42K09",
@@ -494,7 +494,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT mask('abcd-EFGH-8765-4321', 'A', 'abc')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INPUT_SIZE_NOT_ONE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/named-function-arguments.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/named-function-arguments.sql.out
index e01e0ca5ee0..650b61b4192 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/named-function-arguments.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/named-function-arguments.sql.out
@@ -200,7 +200,7 @@ CreateViewCommand `v`, SELECT id FROM range(0, 8), false, true, LocalTempView, t
 -- !query
 SELECT * FROM explode(collection => TABLE(v))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
index 987fb3e0a09..41c8876a7d2 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
@@ -488,7 +488,7 @@ Project [v1#x, k#x]
 -- !query
 SELECT nt2.k FROM (SELECT * FROM nt1 natural join nt2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/order-by-all.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/order-by-all.sql.out
index 454fff744c4..71f33662459 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/order-by-all.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/order-by-all.sql.out
@@ -232,7 +232,7 @@ Sort [all#x ASC NULLS FIRST], true
 select name, dept, rank() over (partition by dept order by all) as rank
 from values('Lisa', 'Sales', 10000, 35) as T(name, dept, salary, age)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/percentiles.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/percentiles.sql.out
index 7a72df5a3e3..fa7529b594e 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/percentiles.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/percentiles.sql.out
@@ -204,7 +204,7 @@ SELECT
 FROM basic_pays
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -230,7 +230,7 @@ SELECT
 FROM basic_pays
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -255,7 +255,7 @@ SELECT
 FROM basic_pays
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -281,7 +281,7 @@ SELECT
 FROM basic_pays
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -307,7 +307,7 @@ SELECT
 FROM basic_pays
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -332,7 +332,7 @@ SELECT
 FROM basic_pays
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -414,7 +414,7 @@ FROM basic_pays
 WINDOW w AS (PARTITION BY department ORDER BY salary)
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -441,7 +441,7 @@ FROM basic_pays
 WINDOW w AS (PARTITION BY department ORDER BY salary)
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -467,7 +467,7 @@ FROM basic_pays
 WINDOW w AS (PARTITION BY department ORDER BY salary)
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -494,7 +494,7 @@ FROM basic_pays
 WINDOW w AS (PARTITION BY department ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING)
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -521,7 +521,7 @@ FROM basic_pays
 WINDOW w AS (PARTITION BY department ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING)
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
@@ -547,7 +547,7 @@ FROM basic_pays
 WINDOW w AS (PARTITION BY department ROWS BETWEEN UNBOUNDED PRECEDING AND 1 FOLLOWING)
 ORDER BY salary
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_WINDOW_SPEC_FOR_AGGREGATION_FUNC",
   "messageParameters" : {
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
index d7b77f8ce01..ead14bdd882 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
@@ -346,7 +346,7 @@ PIVOT (
   FOR year IN (2012, 2013)
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -396,7 +396,7 @@ PIVOT (
   FOR course IN ('dotNET', 'Java')
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "NESTED_AGGREGATE_FUNCTION",
   "sqlState" : "42607",
@@ -504,7 +504,7 @@ PIVOT (
   FOR year IN (s, 2013)
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part1.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part1.sql.out
index a17627aa8cb..beb30cb5e5b 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part1.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part1.sql.out
@@ -503,7 +503,7 @@ select
   (select max((select i.unique2 from tenk1 i where i.unique1 = o.unique1)))
 from tenk1 o
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part3.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part3.sql.out
index 2866c7d26c9..2256213b63f 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part3.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/aggregates_part3.sql.out
@@ -2,7 +2,7 @@
 -- !query
 select max(min(unique1)) from tenk1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "NESTED_AGGREGATE_FUNCTION",
   "sqlState" : "42607",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/create_view.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/create_view.sql.out
index ac6ee2af69d..b199cb55f2a 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/create_view.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/create_view.sql.out
@@ -67,7 +67,7 @@ org.apache.spark.sql.AnalysisException
 CREATE VIEW key_dependent_view_no_cols AS
    SELECT FROM view_base_table GROUP BY key HAVING length(data) > 0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -545,7 +545,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 CREATE VIEW v10_temp AS SELECT * FROM v7_temp
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -565,7 +565,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 CREATE VIEW v11_temp AS SELECT t1.id, t2.a FROM base_table t1, v10_temp t2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -585,7 +585,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 CREATE VIEW v12_temp AS SELECT true FROM v11_temp
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/join.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/join.sql.out
index 511c0b397be..cf5c79333e8 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/join.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/join.sql.out
@@ -3008,7 +3008,7 @@ org.apache.spark.sql.AnalysisException
 select * from
   int8_tbl x join (int4_tbl x cross join int4_tbl y) j on q1 = y.f1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -3065,7 +3065,7 @@ Project [q1#xL, q2#xL, f1#x, ff#x]
 select t1.uunique1 from
   tenk1 t1 join tenk2 t2 on t1.two = t2.two
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -3087,7 +3087,7 @@ org.apache.spark.sql.AnalysisException
 select t2.uunique1 from
   tenk1 t1 join tenk2 t2 on t1.two = t2.two
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -3109,7 +3109,7 @@ org.apache.spark.sql.AnalysisException
 select uunique1 from
   tenk1 t1 join tenk2 t2 on t1.two = t2.two
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -3433,7 +3433,7 @@ Project [q1#xL, q2#xL, bq1#xL, cq1#xL, least(outer(a.q1), q1, q1)#xL]
 -- !query
 select f1,g from int4_tbl a, (select f1 as g) ss
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -3453,7 +3453,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select f1,g from int4_tbl a, (select a.f1 as g) ss
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -3473,7 +3473,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select f1,g from int4_tbl a cross join (select f1 as g) ss
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
@@ -3493,7 +3493,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select f1,g from int4_tbl a cross join (select a.f1 as g) ss
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITHOUT_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/limit.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/limit.sql.out
index 495f425dd5e..2105423dcdd 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/limit.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/limit.sql.out
@@ -139,7 +139,7 @@ CreateViewCommand `INT8_TBL`, SELECT * FROM
 -- !query
 select * from int8_tbl limit (case when random() < 0.5 then bigint(null) end)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.IS_UNFOLDABLE",
   "messageParameters" : {
@@ -159,7 +159,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select * from int8_tbl offset (case when random() < 0.5 then bigint(null) end)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_LIMIT_LIKE_EXPRESSION.IS_UNFOLDABLE",
   "messageParameters" : {
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/numeric.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/numeric.sql.out
index 536631179d8..418e3b2626f 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/numeric.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/numeric.sql.out
@@ -4519,7 +4519,7 @@ Project [ AS to_number_1#x, to_number(-34,338,492, 99G999G999) AS to_number(-34,
 -- !query
 SELECT '' AS to_number_2,  to_number('-34,338,492.654,878', '99G999G999D999G999')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_FORMAT.THOUSANDS_SEPS_MUST_BEFORE_DEC",
   "sqlState" : "42601",
@@ -4574,7 +4574,7 @@ Project [ AS to_number_14#x, to_number(34,50, 999,99) AS to_number(34,50, 999,99
 -- !query
 SELECT '' AS to_number_15, to_number('123,000','999G')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_FORMAT.CONT_THOUSANDS_SEPS",
   "sqlState" : "42601",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_having.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_having.sql.out
index 15df3507060..215e93abb5a 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_having.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_having.sql.out
@@ -142,7 +142,7 @@ Filter (min(a)#x < max(a)#x)
 -- !query
 SELECT a FROM test_having HAVING min(a) < max(a)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_GROUP_BY",
   "sqlState" : "42803",
@@ -159,7 +159,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT 1 AS one FROM test_having HAVING a > 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_implicit.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_implicit.sql.out
index 687eeee8f6a..d2e8345fc94 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_implicit.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/select_implicit.sql.out
@@ -107,7 +107,7 @@ Project [count(1)#xL]
 -- !query
 SELECT count(*) FROM test_missing_target GROUP BY a ORDER BY b
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -319,7 +319,7 @@ Project [count(c)#xL]
 -- !query
 SELECT count(a) FROM test_missing_target GROUP BY a ORDER BY b
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/union.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/union.sql.out
index 56975bd020e..343767d49b0 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/union.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/union.sql.out
@@ -996,7 +996,7 @@ Sort [q2#xL ASC NULLS FIRST, q1#xL ASC NULLS FIRST], true
 -- !query
 SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
index 020cdbf375c..6b6a37b4e7f 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/window_part3.sql.out
@@ -231,7 +231,7 @@ select f1, sum(f1) over (partition by f1
                          range between 1 preceding and 1 following)
 from t1 where f1 = f2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.RANGE_FRAME_WITHOUT_ORDER",
   "sqlState" : "42K09",
@@ -315,7 +315,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT * FROM empsalary INNER JOIN tenk1 ON row_number() OVER (ORDER BY salary) < 10
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_EXPR_FOR_OPERATOR",
   "messageParameters" : {
@@ -334,7 +334,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT rank() OVER (ORDER BY 1), count(*) FROM empsalary GROUP BY 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_EXPR_FOR_OPERATOR",
   "messageParameters" : {
@@ -426,7 +426,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT ntile(0) OVER (ORDER BY ten), ten, four FROM tenk1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.VALUE_OUT_OF_RANGE",
   "sqlState" : "42K09",
@@ -449,7 +449,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT nth_value(four, 0) OVER (ORDER BY ten), ten, four FROM tenk1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.VALUE_OUT_OF_RANGE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
index e53480e96be..c978c583152 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/postgreSQL/with.sql.out
@@ -240,7 +240,7 @@ WITH outermost(x) AS (
 )
 SELECT * FROM outermost ORDER BY 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -424,7 +424,7 @@ WithCTE
 -- !query
 WITH test AS (SELECT 42) INSERT INTO test VALUES (1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/query_regex_column.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/query_regex_column.sql.out
index 4e75fb74de3..c8e9dcde447 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/query_regex_column.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/query_regex_column.sql.out
@@ -34,7 +34,7 @@ AS testData2(A, B, c, d), false, true, LocalTempView, true
 -- !query
 SELECT `(a)?+.+` FROM testData2 WHERE a = 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -55,7 +55,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT t.`(a)?+.+` FROM testData2 t WHERE a = 1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -76,7 +76,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT `(a|b)` FROM testData2 WHERE a = 2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -97,7 +97,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT `(a|b)?+.+` FROM testData2 WHERE a = 2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -118,7 +118,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT SUM(`(a|b)?+.+`) FROM testData2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -139,7 +139,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT SUM(`(a)`) FROM testData2
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -456,7 +456,7 @@ Aggregate [a#x], [sum(a#x) AS sum(a)#xL]
 -- !query
 SELECT SUM(a) FROM testdata3 GROUP BY `(a)`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
@@ -477,7 +477,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT SUM(a) FROM testdata3 GROUP BY `(a)?+.+`
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/random.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/random.sql.out
index de5dc246c0e..e0c051e0a93 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/random.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/random.sql.out
@@ -26,7 +26,7 @@ SELECT rand(cast(NULL AS int))
 -- !query
 SELECT rand(1.0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -74,7 +74,7 @@ SELECT randn(cast(NULL AS long))
 -- !query
 SELECT rand('1')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/regexp-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/regexp-functions.sql.out
index 1d30315e3f9..cd6b95e75f1 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/regexp-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/regexp-functions.sql.out
@@ -234,7 +234,7 @@ Project [regexp_replace(healthy, wealthy, and wise, \w+thy, something, 1) AS reg
 -- !query
 SELECT regexp_replace('healthy, wealthy, and wise', '\\w+thy', 'something', -2)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.VALUE_OUT_OF_RANGE",
   "sqlState" : "42K09",
@@ -257,7 +257,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT regexp_replace('healthy, wealthy, and wise', '\\w+thy', 'something', 0)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.VALUE_OUT_OF_RANGE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/show_columns.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/show_columns.sql.out
index 3c790c07891..55c744a8c07 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/show_columns.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/show_columns.sql.out
@@ -66,7 +66,7 @@ ShowColumnsCommand showdb, `spark_catalog`.`showdb`.`showcolumn2`, [col_name#x]
 -- !query
 SHOW COLUMNS IN badtable FROM showdb
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -111,7 +111,7 @@ ShowColumnsCommand `showcolumn3`, [col_name#x]
 -- !query
 SHOW COLUMNS IN showdb.showcolumn3
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -131,7 +131,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SHOW COLUMNS IN showcolumn3 FROM showdb
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
@@ -151,7 +151,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SHOW COLUMNS IN showcolumn4
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "TABLE_OR_VIEW_NOT_FOUND",
   "sqlState" : "42P01",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/string-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/string-functions.sql.out
index 9a66950d365..f879f2450c9 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/string-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/string-functions.sql.out
@@ -1266,7 +1266,7 @@ Project [to_binary(cast(null as string), Some(cast(null as string)), false) AS t
 -- !query
 select to_binary('abc', 1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INVALID_ARG_VALUE",
   "sqlState" : "42K09",
@@ -1290,7 +1290,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select to_binary('abc', 'invalidFormat')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.INVALID_ARG_VALUE",
   "sqlState" : "42K09",
@@ -1322,7 +1322,7 @@ CreateViewCommand `fmtTable`, [(fmtField,None)], SELECT * FROM VALUES ('invalidF
 -- !query
 SELECT to_binary('abc', fmtField) FROM fmtTable
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_FOLDABLE_INPUT",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-joins-and-set-ops.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-joins-and-set-ops.sql.out
index 8ea5bf7baf1..7d098783eba 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-joins-and-set-ops.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/exists-subquery/exists-joins-and-set-ops.sql.out
@@ -685,7 +685,7 @@ WHERE  EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -713,7 +713,7 @@ WHERE NOT EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -741,7 +741,7 @@ WHERE  EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -769,7 +769,7 @@ WHERE EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -797,7 +797,7 @@ WHERE  EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -825,7 +825,7 @@ WHERE  EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -853,7 +853,7 @@ WHERE NOT EXISTS (SELECT *
                FROM   dept
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -881,7 +881,7 @@ WHERE NOT EXISTS (SELECT *
                FROM   dept 
                WHERE  dept_id = emp.dept_id and state = "TX")
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-basic.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-basic.sql.out
index 8541900a0ea..bfb89e61a66 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-basic.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-basic.sql.out
@@ -50,7 +50,7 @@ Project [1 AS 1#x]
 -- !query
 select 1 from tab_a where (a1, b1) not in (select (a2, b2) from tab_b)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.IN_SUBQUERY_LENGTH_MISMATCH",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-set-operations.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-set-operations.sql.out
index 937173cac74..f088251de62 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-set-operations.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/in-subquery/in-set-operations.sql.out
@@ -1313,7 +1313,7 @@ WHERE  t1a IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1340,7 +1340,7 @@ WHERE  t1a IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1367,7 +1367,7 @@ WHERE  t1a IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1394,7 +1394,7 @@ WHERE  t1a IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1421,7 +1421,7 @@ WHERE  t1a IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1448,7 +1448,7 @@ WHERE  t1a IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1475,7 +1475,7 @@ WHERE  t1a NOT IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1502,7 +1502,7 @@ WHERE  t1a NOT IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1529,7 +1529,7 @@ WHERE  t1a NOT IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1556,7 +1556,7 @@ WHERE  t1a NOT IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1583,7 +1583,7 @@ WHERE  t1a NOT IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
@@ -1610,7 +1610,7 @@ WHERE  t1a NOT IN (SELECT t2a
                SELECT t3a
                FROM   t3)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.ACCESSING_OUTER_QUERY_COLUMN_IS_NOT_ALLOWED",
   "sqlState" : "0A000",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/invalid-correlation.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/invalid-correlation.sql.out
index 2992bc6c9a1..e17633460e0 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/invalid-correlation.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/invalid-correlation.sql.out
@@ -49,7 +49,7 @@ AND    t2b = (SELECT max(avg)
                      )
              )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_GROUP_BY",
   "sqlState" : "42803",
@@ -74,7 +74,7 @@ WHERE  t1a IN (SELECT   min(t2a)
                                 GROUP BY t3b
                                 HAVING   t3b > t2b ))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "MISSING_ATTRIBUTES.RESOLVED_ATTRIBUTE_MISSING_FROM_INPUT",
   "messageParameters" : {
@@ -153,7 +153,7 @@ WHERE  t1a IN (SELECT t2a
                WHERE  EXISTS (SELECT min(t2a) 
                               FROM   t3))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -189,7 +189,7 @@ FROM   t1
 JOIN   t1_copy
 ON     EXISTS (SELECT 1 FROM t2 WHERE t2a > t1a)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/subq-input-typecheck.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/subq-input-typecheck.sql.out
index 864c589184e..e550e52bf64 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/subq-input-typecheck.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/negative-cases/subq-input-typecheck.sql.out
@@ -73,7 +73,7 @@ SELECT
   )
 FROM t1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_SUBQUERY_EXPRESSION.SCALAR_SUBQUERY_RETURN_MORE_THAN_ONE_OUTPUT_COLUMN",
   "sqlState" : "42823",
@@ -99,7 +99,7 @@ SELECT
   )
 FROM t1
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "INVALID_SUBQUERY_EXPRESSION.SCALAR_SUBQUERY_RETURN_MORE_THAN_ONE_OUTPUT_COLUMN",
   "sqlState" : "42823",
@@ -123,7 +123,7 @@ t1a IN (SELECT t2a, t2b
         FROM t2
         WHERE t1a = t2a)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.IN_SUBQUERY_LENGTH_MISMATCH",
   "sqlState" : "42K09",
@@ -151,7 +151,7 @@ WHERE
                FROM t2
                WHERE t1a = t2a)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.IN_SUBQUERY_LENGTH_MISMATCH",
   "sqlState" : "42K09",
@@ -180,7 +180,7 @@ WHERE
                            t5c
                     FROM t5)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.IN_SUBQUERY_DATA_TYPE_MISMATCH",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-predicate.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-predicate.sql.out
index 311f3803902..a55b1e717be 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-predicate.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-predicate.sql.out
@@ -1189,7 +1189,7 @@ SELECT * FROM t0 WHERE t0a <
   FROM   t2)
 )
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-set-op.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-set-op.sql.out
index 0f53d05ac3e..790d9da94e1 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-set-op.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/subquery/scalar-subquery/scalar-subquery-set-op.sql.out
@@ -299,7 +299,7 @@ SELECT t0a, (SELECT sum(d) FROM
 )
 FROM t0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -603,7 +603,7 @@ SELECT t0a, (SELECT sum(d) FROM
 )
 FROM t0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -899,7 +899,7 @@ SELECT t0a, (SELECT sum(d) FROM
 )
 FROM t0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -1195,7 +1195,7 @@ SELECT t0a, (SELECT sum(d) FROM
 )
 FROM t0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -1491,7 +1491,7 @@ SELECT t0a, (SELECT sum(d) FROM
 )
 FROM t0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
@@ -1787,7 +1787,7 @@ SELECT t0a, (SELECT sum(d) FROM
 )
 FROM t0
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.CORRELATED_REFERENCE",
   "sqlState" : "0A000",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/table-aliases.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/table-aliases.sql.out
index f15382d66a5..0c8d0b8f269 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/table-aliases.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/table-aliases.sql.out
@@ -95,7 +95,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT a AS col1, b AS col2 FROM testData AS t(c, d)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "UNRESOLVED_COLUMN.WITH_SUGGESTION",
   "sqlState" : "42703",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/table-valued-functions.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/table-valued-functions.sql.out
index 6c29a0ec1db..2b292eb6895 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/table-valued-functions.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/table-valued-functions.sql.out
@@ -214,7 +214,7 @@ select * from explode(array(rand(0)))
 -- !query
 select * from explode(null)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -238,7 +238,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select * from explode(null) t(c1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -262,7 +262,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select * from explode(1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -428,7 +428,7 @@ Project [col1#x, col2#x]
 -- !query
 select * from inline(null)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -541,7 +541,7 @@ Project [pos#x, k#x, v#x]
 -- !query
 select * from posexplode(1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -735,7 +735,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select * from json_tuple('{"a": 1}', 1)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_STRING_TYPE",
   "sqlState" : "42K09",
@@ -756,7 +756,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select * from json_tuple('{"a": 1}', null)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.NON_STRING_TYPE",
   "sqlState" : "42K09",
@@ -891,7 +891,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select * from stack(2, 1, '1.1', 'a', 2, 2.2, 'b')
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.STACK_COLUMN_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/timestamp.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/timestamp.sql.out
index 856c317d137..12fa38ac3c3 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/timestamp.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/timestamp.sql.out
@@ -551,7 +551,7 @@ select timestamp'2019-10-06 10:11:12.345678' - date'2020-01-01'
 -- !query
 select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -575,7 +575,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -619,7 +619,7 @@ CreateViewCommand `ts_view`, select '2011-11-11 11:11:11' str, false, false, Loc
 -- !query
 select str - timestamp'2011-11-11 11:11:11' from ts_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -643,7 +643,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' - str from ts_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -667,7 +667,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -689,7 +689,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -711,7 +711,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + null
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -733,7 +733,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp-ansi.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp-ansi.sql.out
index 5c42401acc3..bbdbd903d82 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp-ansi.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp-ansi.sql.out
@@ -609,7 +609,7 @@ Project [(2011-11-11 11:11:11 - cast(str#x as timestamp_ntz)) AS (TIMESTAMP_NTZ
 -- !query
 select timestamp'2011-11-11 11:11:11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -631,7 +631,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -653,7 +653,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + null
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -675,7 +675,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp.sql.out
index 18d05088b56..720ab45acd7 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/timestampNTZ/timestamp.sql.out
@@ -553,7 +553,7 @@ select timestamp'2019-10-06 10:11:12.345678' - date'2020-01-01'
 -- !query
 select timestamp'2011-11-11 11:11:11' - '2011-11-11 11:11:10'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -577,7 +577,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '2011-11-11 11:11:11' - timestamp'2011-11-11 11:11:10'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -621,7 +621,7 @@ CreateViewCommand `ts_view`, select '2011-11-11 11:11:11' str, false, false, Loc
 -- !query
 select str - timestamp'2011-11-11 11:11:11' from ts_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -645,7 +645,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' - str from ts_view
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -669,7 +669,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + '1'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -691,7 +691,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select '1' + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -713,7 +713,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select timestamp'2011-11-11 11:11:11' + null
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -735,7 +735,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select null + timestamp'2011-11-11 11:11:11'
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/try_arithmetic.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/try_arithmetic.sql.out
index e8506a8589d..bbc07c22805 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/try_arithmetic.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/try_arithmetic.sql.out
@@ -134,7 +134,7 @@ Project [try_add(INTERVAL '02' SECOND, INTERVAL '02' SECOND) AS try_add(INTERVAL
 -- !query
 SELECT try_add(interval 2 year, interval 2 second)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/booleanEquality.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/booleanEquality.sql.out
index 2f2b27e427d..c1aa8f3c792 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/booleanEquality.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/booleanEquality.sql.out
@@ -98,7 +98,7 @@ Project [(true = cast(cast(1 as string) as boolean)) AS (true = CAST(1 AS STRING
 -- !query
 SELECT true = cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -131,7 +131,7 @@ Project [(true = cast(1 as boolean)) AS (true = CAST(1 AS BOOLEAN))#x]
 -- !query
 SELECT true = cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -153,7 +153,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT true = cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -263,7 +263,7 @@ Project [(true <=> cast(cast(1 as string) as boolean)) AS (true <=> CAST(1 AS ST
 -- !query
 SELECT true <=> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -296,7 +296,7 @@ Project [(true <=> cast(1 as boolean)) AS (true <=> CAST(1 AS BOOLEAN))#x]
 -- !query
 SELECT true <=> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -318,7 +318,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT true <=> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -428,7 +428,7 @@ Project [(cast(cast(1 as string) as boolean) = true) AS (CAST(1 AS STRING) = tru
 -- !query
 SELECT cast('1' as binary) = true FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -461,7 +461,7 @@ Project [(cast(1 as boolean) = true) AS (CAST(1 AS BOOLEAN) = true)#x]
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) = true FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -483,7 +483,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) = true FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -593,7 +593,7 @@ Project [(cast(cast(1 as string) as boolean) <=> true) AS (CAST(1 AS STRING) <=>
 -- !query
 SELECT cast('1' as binary) <=> true FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -626,7 +626,7 @@ Project [(cast(1 as boolean) <=> true) AS (CAST(1 AS BOOLEAN) <=> true)#x]
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <=> true FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -648,7 +648,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <=> true FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -758,7 +758,7 @@ Project [(false = cast(cast(0 as string) as boolean)) AS (false = CAST(0 AS STRI
 -- !query
 SELECT false = cast('0' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -791,7 +791,7 @@ Project [(false = cast(0 as boolean)) AS (false = CAST(0 AS BOOLEAN))#x]
 -- !query
 SELECT false = cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -813,7 +813,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT false = cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -923,7 +923,7 @@ Project [(false <=> cast(cast(0 as string) as boolean)) AS (false <=> CAST(0 AS
 -- !query
 SELECT false <=> cast('0' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -956,7 +956,7 @@ Project [(false <=> cast(0 as boolean)) AS (false <=> CAST(0 AS BOOLEAN))#x]
 -- !query
 SELECT false <=> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -978,7 +978,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT false <=> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1088,7 +1088,7 @@ Project [(cast(cast(0 as string) as boolean) = false) AS (CAST(0 AS STRING) = fa
 -- !query
 SELECT cast('0' as binary) = false FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1121,7 +1121,7 @@ Project [(cast(0 as boolean) = false) AS (CAST(0 AS BOOLEAN) = false)#x]
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) = false FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1143,7 +1143,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) = false FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1253,7 +1253,7 @@ Project [(cast(cast(0 as string) as boolean) <=> false) AS (CAST(0 AS STRING) <=
 -- !query
 SELECT cast('0' as binary) <=> false FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1286,7 +1286,7 @@ Project [(cast(0 as boolean) <=> false) AS (CAST(0 AS BOOLEAN) <=> false)#x]
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <=> false FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1308,7 +1308,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <=> false FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/caseWhenCoercion.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/caseWhenCoercion.sql.out
index 6742bb25fd9..7662eac61e5 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/caseWhenCoercion.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/caseWhenCoercion.sql.out
@@ -98,7 +98,7 @@ Project [CASE WHEN true THEN cast(cast(1 as tinyint) as string) ELSE cast(2 as s
 -- !query
 SELECT CASE WHEN true THEN cast(1 as tinyint) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -120,7 +120,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as tinyint) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -142,7 +142,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as tinyint) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -164,7 +164,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as tinyint) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -274,7 +274,7 @@ Project [CASE WHEN true THEN cast(cast(1 as smallint) as string) ELSE cast(2 as
 -- !query
 SELECT CASE WHEN true THEN cast(1 as smallint) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -296,7 +296,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as smallint) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -318,7 +318,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as smallint) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -340,7 +340,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as smallint) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -450,7 +450,7 @@ Project [CASE WHEN true THEN cast(cast(1 as int) as string) ELSE cast(2 as strin
 -- !query
 SELECT CASE WHEN true THEN cast(1 as int) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -472,7 +472,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as int) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -494,7 +494,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as int) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -516,7 +516,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as int) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -626,7 +626,7 @@ Project [CASE WHEN true THEN cast(cast(1 as bigint) as string) ELSE cast(2 as st
 -- !query
 SELECT CASE WHEN true THEN cast(1 as bigint) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -648,7 +648,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as bigint) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -670,7 +670,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as bigint) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -692,7 +692,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as bigint) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -802,7 +802,7 @@ Project [CASE WHEN true THEN cast(cast(1 as float) as string) ELSE cast(2 as str
 -- !query
 SELECT CASE WHEN true THEN cast(1 as float) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -824,7 +824,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as float) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -846,7 +846,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as float) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -868,7 +868,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as float) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -978,7 +978,7 @@ Project [CASE WHEN true THEN cast(cast(1 as double) as string) ELSE cast(2 as st
 -- !query
 SELECT CASE WHEN true THEN cast(1 as double) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1000,7 +1000,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as double) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1022,7 +1022,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as double) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1044,7 +1044,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as double) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1154,7 +1154,7 @@ Project [CASE WHEN true THEN cast(cast(1 as decimal(10,0)) as string) ELSE cast(
 -- !query
 SELECT CASE WHEN true THEN cast(1 as decimal(10, 0)) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1176,7 +1176,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as decimal(10, 0)) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1198,7 +1198,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as decimal(10, 0)) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1220,7 +1220,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as decimal(10, 0)) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1330,7 +1330,7 @@ Project [CASE WHEN true THEN cast(1 as string) ELSE cast(2 as string) END AS CAS
 -- !query
 SELECT CASE WHEN true THEN cast(1 as string) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1352,7 +1352,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as string) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1396,7 +1396,7 @@ Project [CASE WHEN true THEN cast(1 as string) ELSE cast(cast(2017-12-11 09:30:0
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as tinyint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1418,7 +1418,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as smallint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1440,7 +1440,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as int) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1462,7 +1462,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as bigint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1484,7 +1484,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as float) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1506,7 +1506,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as double) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1528,7 +1528,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as decimal(10, 0)) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1550,7 +1550,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as string) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1583,7 +1583,7 @@ Project [CASE WHEN true THEN cast(1 as binary) ELSE cast(2 as binary) END AS CAS
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1605,7 +1605,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1627,7 +1627,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('1' as binary) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1649,7 +1649,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as tinyint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1671,7 +1671,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as smallint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1693,7 +1693,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as int) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1715,7 +1715,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as bigint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1737,7 +1737,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as float) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1759,7 +1759,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as double) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1781,7 +1781,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as decimal(10, 0)) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1803,7 +1803,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as string) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1825,7 +1825,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1858,7 +1858,7 @@ Project [CASE WHEN true THEN cast(1 as boolean) ELSE cast(2 as boolean) END AS C
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast('2017-12-11 09:30:00.0' as timestamp) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1880,7 +1880,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast(1 as boolean) ELSE cast('2017-12-11 09:30:00' as date) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1902,7 +1902,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as tinyint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1924,7 +1924,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as smallint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1946,7 +1946,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as int) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1968,7 +1968,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as bigint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1990,7 +1990,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as float) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2012,7 +2012,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as double) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2034,7 +2034,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as decimal(10, 0)) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2067,7 +2067,7 @@ Project [CASE WHEN true THEN cast(cast(2017-12-12 09:30:00.0 as timestamp) as st
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2089,7 +2089,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00.0' as timestamp) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2133,7 +2133,7 @@ Project [CASE WHEN true THEN cast(2017-12-12 09:30:00.0 as timestamp) ELSE cast(
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as tinyint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2155,7 +2155,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as smallint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2177,7 +2177,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as int) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2199,7 +2199,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as bigint) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2221,7 +2221,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as float) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2243,7 +2243,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as double) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2265,7 +2265,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as decimal(10, 0)) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2298,7 +2298,7 @@ Project [CASE WHEN true THEN cast(cast(2017-12-12 09:30:00 as date) as string) E
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast('2' as binary) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2320,7 +2320,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT CASE WHEN true THEN cast('2017-12-12 09:30:00' as date) ELSE cast(2 as boolean) END FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/dateTimeOperations.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/dateTimeOperations.sql.out
index a4d0d0fd370..4e5884d1219 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/dateTimeOperations.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/dateTimeOperations.sql.out
@@ -10,7 +10,7 @@ CreateViewCommand `t`, SELECT 1, false, false, LocalTempView, true
 -- !query
 select cast(1 as tinyint) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -34,7 +34,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as smallint) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -58,7 +58,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as int) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -82,7 +82,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as bigint) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -106,7 +106,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as float) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -130,7 +130,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as double) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -154,7 +154,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as decimal(10, 0)) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -192,7 +192,7 @@ Project [cast(cast(cast(2017-12-11 09:30:00 as string) as timestamp) + INTERVAL
 -- !query
 select cast('1' as binary) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -216,7 +216,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as boolean) + interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -254,7 +254,7 @@ Project [date_add(cast(2017-12-11 09:30:00 as date), extractansiintervaldays(INT
 -- !query
 select interval 2 day + cast(1 as tinyint)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -278,7 +278,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as smallint)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -302,7 +302,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as int)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -326,7 +326,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as bigint)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -350,7 +350,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as float)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -374,7 +374,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as double)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -398,7 +398,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as decimal(10, 0))
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -436,7 +436,7 @@ Project [cast(cast(cast(2017-12-11 09:30:00 as string) as timestamp) + INTERVAL
 -- !query
 select interval 2 day + cast('1' as binary)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -460,7 +460,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select interval 2 day + cast(1 as boolean)
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -498,7 +498,7 @@ Project [date_add(cast(2017-12-11 09:30:00 as date), extractansiintervaldays(INT
 -- !query
 select cast(1 as tinyint) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -522,7 +522,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as smallint) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -546,7 +546,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as int) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -570,7 +570,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as bigint) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -594,7 +594,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as float) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -618,7 +618,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as double) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -642,7 +642,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as decimal(10, 0)) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -680,7 +680,7 @@ Project [cast(cast(2017-12-11 09:30:00 as string) - INTERVAL '2' DAY as string)
 -- !query
 select cast('1' as binary) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -704,7 +704,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 select cast(1 as boolean) - interval 2 day
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/decimalPrecision.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/decimalPrecision.sql.out
index c69150bda48..0ab4530c6b9 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/decimalPrecision.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/decimalPrecision.sql.out
@@ -318,7 +318,7 @@ Project [(cast(1 as decimal(10,0)) + cast(1 as decimal(20,0))) AS (CAST(1 AS DEC
 -- !query
 SELECT cast('1' as binary) + cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -340,7 +340,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) + cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -362,7 +362,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) + cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -384,7 +384,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) + cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -406,7 +406,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) + cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -428,7 +428,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) + cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -450,7 +450,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) + cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -472,7 +472,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) + cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -494,7 +494,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) + cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -518,7 +518,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) + cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -542,7 +542,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) + cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -566,7 +566,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) + cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -942,7 +942,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) + cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  + cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -964,7 +964,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  + cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -986,7 +986,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) + cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1008,7 +1008,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) + cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1030,7 +1030,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  + cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1052,7 +1052,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  + cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1074,7 +1074,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) + cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1096,7 +1096,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) + cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1118,7 +1118,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  + cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1140,7 +1140,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  + cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1162,7 +1162,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) + cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1184,7 +1184,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) + cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1206,7 +1206,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  + cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1230,7 +1230,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  + cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1254,7 +1254,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) + cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1278,7 +1278,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) + cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1610,7 +1610,7 @@ Project [(cast(1 as decimal(10,0)) - cast(1 as decimal(20,0))) AS (CAST(1 AS DEC
 -- !query
 SELECT cast('1' as binary) - cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1632,7 +1632,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) - cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1654,7 +1654,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) - cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1676,7 +1676,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) - cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1698,7 +1698,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) - cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1722,7 +1722,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) - cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1746,7 +1746,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) - cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1770,7 +1770,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) - cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1794,7 +1794,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) - cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1818,7 +1818,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) - cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1842,7 +1842,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) - cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -1866,7 +1866,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) - cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2242,7 +2242,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) - cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  - cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2264,7 +2264,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  - cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2286,7 +2286,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) - cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2308,7 +2308,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) - cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2330,7 +2330,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  - cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2352,7 +2352,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  - cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2374,7 +2374,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) - cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2396,7 +2396,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) - cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2418,7 +2418,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  - cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2442,7 +2442,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  - cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2466,7 +2466,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) - cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2490,7 +2490,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) - cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2514,7 +2514,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  - cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2538,7 +2538,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  - cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2562,7 +2562,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) - cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2586,7 +2586,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) - cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.UNEXPECTED_INPUT_TYPE",
   "sqlState" : "42K09",
@@ -2918,7 +2918,7 @@ Project [(cast(1 as decimal(10,0)) * cast(1 as decimal(20,0))) AS (CAST(1 AS DEC
 -- !query
 SELECT cast('1' as binary) * cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2940,7 +2940,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) * cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2962,7 +2962,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) * cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2984,7 +2984,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) * cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3006,7 +3006,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00.0' as timestamp) * cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3028,7 +3028,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00.0' as timestamp) * cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3050,7 +3050,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00.0' as timestamp) * cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3072,7 +3072,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00.0' as timestamp) * cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3094,7 +3094,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00' as date) * cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3116,7 +3116,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00' as date) * cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3138,7 +3138,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00' as date) * cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3160,7 +3160,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017*12*11 09:30:00' as date) * cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3534,7 +3534,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) * cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  * cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3556,7 +3556,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  * cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3578,7 +3578,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) * cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3600,7 +3600,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) * cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3622,7 +3622,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  * cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3644,7 +3644,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  * cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3666,7 +3666,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) * cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3688,7 +3688,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) * cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3710,7 +3710,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  * cast('2017*12*11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3732,7 +3732,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  * cast('2017*12*11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3754,7 +3754,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) * cast('2017*12*11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3776,7 +3776,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) * cast('2017*12*11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3798,7 +3798,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  * cast('2017*12*11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3820,7 +3820,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  * cast('2017*12*11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3842,7 +3842,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) * cast('2017*12*11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -3864,7 +3864,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) * cast('2017*12*11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4194,7 +4194,7 @@ Project [(cast(1 as decimal(10,0)) / cast(1 as decimal(20,0))) AS (CAST(1 AS DEC
 -- !query
 SELECT cast('1' as binary) / cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4216,7 +4216,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4238,7 +4238,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4260,7 +4260,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4282,7 +4282,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00.0' as timestamp) / cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4304,7 +4304,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00.0' as timestamp) / cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4326,7 +4326,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00.0' as timestamp) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4348,7 +4348,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00.0' as timestamp) / cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4370,7 +4370,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00' as date) / cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4392,7 +4392,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00' as date) / cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4414,7 +4414,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00' as date) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4436,7 +4436,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017/12/11 09:30:00' as date) / cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4810,7 +4810,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) / cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4832,7 +4832,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4854,7 +4854,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4876,7 +4876,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4898,7 +4898,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4920,7 +4920,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4942,7 +4942,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4964,7 +4964,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -4986,7 +4986,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  / cast('2017/12/11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5008,7 +5008,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  / cast('2017/12/11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5030,7 +5030,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast('2017/12/11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5052,7 +5052,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) / cast('2017/12/11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5074,7 +5074,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  / cast('2017/12/11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5096,7 +5096,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  / cast('2017/12/11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5118,7 +5118,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast('2017/12/11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5140,7 +5140,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) / cast('2017/12/11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5470,7 +5470,7 @@ Project [(cast(1 as decimal(10,0)) % cast(1 as decimal(20,0))) AS (CAST(1 AS DEC
 -- !query
 SELECT cast('1' as binary) % cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5492,7 +5492,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) % cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5514,7 +5514,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) % cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5536,7 +5536,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) % cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5558,7 +5558,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) % cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5580,7 +5580,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) % cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5602,7 +5602,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) % cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5624,7 +5624,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) % cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5646,7 +5646,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) % cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5668,7 +5668,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) % cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5690,7 +5690,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) % cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -5712,7 +5712,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) % cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6086,7 +6086,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) % cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  % cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6108,7 +6108,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  % cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6130,7 +6130,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) % cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6152,7 +6152,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) % cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6174,7 +6174,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  % cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6196,7 +6196,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  % cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6218,7 +6218,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) % cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6240,7 +6240,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) % cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6262,7 +6262,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  % cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6284,7 +6284,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  % cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6306,7 +6306,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) % cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6328,7 +6328,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) % cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6350,7 +6350,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  % cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6372,7 +6372,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  % cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6394,7 +6394,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) % cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6416,7 +6416,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) % cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6746,7 +6746,7 @@ Project [pmod(cast(1 as decimal(10,0)), cast(1 as decimal(20,0))) AS pmod(CAST(1
 -- !query
 SELECT pmod(cast('1' as binary), cast(1 as decimal(3, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6768,7 +6768,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('1' as binary), cast(1 as decimal(5, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6790,7 +6790,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('1' as binary), cast(1 as decimal(10, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6812,7 +6812,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('1' as binary), cast(1 as decimal(20, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6834,7 +6834,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00.0' as timestamp), cast(1 as decimal(3, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6856,7 +6856,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00.0' as timestamp), cast(1 as decimal(5, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6878,7 +6878,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00.0' as timestamp), cast(1 as decimal(10, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6900,7 +6900,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00.0' as timestamp), cast(1 as decimal(20, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6922,7 +6922,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00' as date), cast(1 as decimal(3, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6944,7 +6944,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00' as date), cast(1 as decimal(5, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6966,7 +6966,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00' as date), cast(1 as decimal(10, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -6988,7 +6988,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast('2017-12-11 09:30:00' as date), cast(1 as decimal(20, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7362,7 +7362,7 @@ Project [pmod(cast(cast(1 as decimal(20,0)) as double), cast(cast(1 as string) a
 -- !query
 SELECT pmod(cast(1 as decimal(3, 0)) , cast('1' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7384,7 +7384,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(5, 0)) , cast('1' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7406,7 +7406,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(10, 0)), cast('1' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7428,7 +7428,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(20, 0)), cast('1' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7450,7 +7450,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(3, 0)) , cast(1 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7472,7 +7472,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(5, 0)) , cast(1 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7494,7 +7494,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(10, 0)), cast(1 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7516,7 +7516,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(20, 0)), cast(1 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7538,7 +7538,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(3, 0)) , cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7560,7 +7560,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(5, 0)) , cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7582,7 +7582,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(10, 0)), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7604,7 +7604,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(20, 0)), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7626,7 +7626,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(3, 0)) , cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7648,7 +7648,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(5, 0)) , cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7670,7 +7670,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(10, 0)), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -7692,7 +7692,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT pmod(cast(1 as decimal(20, 0)), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8022,7 +8022,7 @@ Project [(cast(cast(1 as decimal(10,0)) as decimal(20,0)) = cast(1 as decimal(20
 -- !query
 SELECT cast('1' as binary) = cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8044,7 +8044,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) = cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8066,7 +8066,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) = cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8088,7 +8088,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) = cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8110,7 +8110,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) = cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8132,7 +8132,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) = cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8154,7 +8154,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) = cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8176,7 +8176,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) = cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8198,7 +8198,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) = cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8220,7 +8220,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) = cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8242,7 +8242,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) = cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8264,7 +8264,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) = cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8638,7 +8638,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) = cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  = cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8660,7 +8660,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  = cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8682,7 +8682,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) = cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8704,7 +8704,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) = cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8770,7 +8770,7 @@ Project [(cast(1 as decimal(20,0)) = cast(cast(1 as boolean) as decimal(20,0)))
 -- !query
 SELECT cast(1 as decimal(3, 0))  = cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8792,7 +8792,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  = cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8814,7 +8814,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) = cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8836,7 +8836,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) = cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8858,7 +8858,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  = cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8880,7 +8880,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  = cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8902,7 +8902,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) = cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -8924,7 +8924,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) = cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9254,7 +9254,7 @@ Project [(cast(cast(1 as decimal(10,0)) as decimal(20,0)) <=> cast(1 as decimal(
 -- !query
 SELECT cast('1' as binary) <=> cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9276,7 +9276,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <=> cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9298,7 +9298,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <=> cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9320,7 +9320,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <=> cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9342,7 +9342,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <=> cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9364,7 +9364,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <=> cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9386,7 +9386,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <=> cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9408,7 +9408,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <=> cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9430,7 +9430,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <=> cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9452,7 +9452,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <=> cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9474,7 +9474,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <=> cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9496,7 +9496,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <=> cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9870,7 +9870,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) <=> cast(cast(1 as string) as
 -- !query
 SELECT cast(1 as decimal(3, 0))  <=> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9892,7 +9892,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <=> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9914,7 +9914,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <=> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -9936,7 +9936,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <=> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10002,7 +10002,7 @@ Project [(cast(1 as decimal(20,0)) <=> cast(cast(1 as boolean) as decimal(20,0))
 -- !query
 SELECT cast(1 as decimal(3, 0))  <=> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10024,7 +10024,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <=> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10046,7 +10046,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <=> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10068,7 +10068,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <=> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10090,7 +10090,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  <=> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10112,7 +10112,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <=> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10134,7 +10134,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <=> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10156,7 +10156,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <=> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10486,7 +10486,7 @@ Project [(cast(cast(1 as decimal(10,0)) as decimal(20,0)) < cast(1 as decimal(20
 -- !query
 SELECT cast('1' as binary) < cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10508,7 +10508,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) < cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10530,7 +10530,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) < cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10552,7 +10552,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) < cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10574,7 +10574,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) < cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10596,7 +10596,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) < cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10618,7 +10618,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) < cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10640,7 +10640,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) < cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10662,7 +10662,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) < cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10684,7 +10684,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) < cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10706,7 +10706,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) < cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -10728,7 +10728,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) < cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11102,7 +11102,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) < cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  < cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11124,7 +11124,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  < cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11146,7 +11146,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) < cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11168,7 +11168,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) < cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11190,7 +11190,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  < cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11212,7 +11212,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  < cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11234,7 +11234,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) < cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11256,7 +11256,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) < cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11278,7 +11278,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  < cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11300,7 +11300,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  < cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11322,7 +11322,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) < cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11344,7 +11344,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) < cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11366,7 +11366,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  < cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11388,7 +11388,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  < cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11410,7 +11410,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) < cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11432,7 +11432,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) < cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11762,7 +11762,7 @@ Project [(cast(cast(1 as decimal(10,0)) as decimal(20,0)) <= cast(1 as decimal(2
 -- !query
 SELECT cast('1' as binary) <= cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11784,7 +11784,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <= cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11806,7 +11806,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <= cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11828,7 +11828,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <= cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11850,7 +11850,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <= cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11872,7 +11872,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <= cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11894,7 +11894,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <= cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11916,7 +11916,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <= cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11938,7 +11938,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <= cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11960,7 +11960,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <= cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -11982,7 +11982,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <= cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12004,7 +12004,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <= cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12378,7 +12378,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) <= cast(cast(1 as string) as
 -- !query
 SELECT cast(1 as decimal(3, 0))  <= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12400,7 +12400,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12422,7 +12422,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12444,7 +12444,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12466,7 +12466,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  <= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12488,7 +12488,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12510,7 +12510,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12532,7 +12532,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12554,7 +12554,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  <= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12576,7 +12576,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12598,7 +12598,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12620,7 +12620,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12642,7 +12642,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  <= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12664,7 +12664,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12686,7 +12686,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -12708,7 +12708,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13038,7 +13038,7 @@ Project [(cast(cast(1 as decimal(10,0)) as decimal(20,0)) > cast(1 as decimal(20
 -- !query
 SELECT cast('1' as binary) > cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13060,7 +13060,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) > cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13082,7 +13082,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) > cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13104,7 +13104,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) > cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13126,7 +13126,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) > cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13148,7 +13148,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) > cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13170,7 +13170,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) > cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13192,7 +13192,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) > cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13214,7 +13214,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) > cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13236,7 +13236,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) > cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13258,7 +13258,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) > cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13280,7 +13280,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) > cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13654,7 +13654,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) > cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(3, 0))  > cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13676,7 +13676,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  > cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13698,7 +13698,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) > cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13720,7 +13720,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) > cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13742,7 +13742,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  > cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13764,7 +13764,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  > cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13786,7 +13786,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) > cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13808,7 +13808,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) > cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13830,7 +13830,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  > cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13852,7 +13852,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  > cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13874,7 +13874,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) > cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13896,7 +13896,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) > cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13918,7 +13918,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  > cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13940,7 +13940,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  > cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13962,7 +13962,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) > cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -13984,7 +13984,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) > cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14314,7 +14314,7 @@ Project [(cast(cast(1 as decimal(10,0)) as decimal(20,0)) >= cast(1 as decimal(2
 -- !query
 SELECT cast('1' as binary) >= cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14336,7 +14336,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) >= cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14358,7 +14358,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) >= cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14380,7 +14380,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) >= cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14402,7 +14402,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) >= cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14424,7 +14424,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) >= cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14446,7 +14446,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) >= cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14468,7 +14468,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) >= cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14490,7 +14490,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) >= cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14512,7 +14512,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) >= cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14534,7 +14534,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) >= cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14556,7 +14556,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) >= cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14930,7 +14930,7 @@ Project [(cast(cast(1 as decimal(20,0)) as double) >= cast(cast(1 as string) as
 -- !query
 SELECT cast(1 as decimal(3, 0))  >= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14952,7 +14952,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  >= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14974,7 +14974,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) >= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -14996,7 +14996,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) >= cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15018,7 +15018,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  >= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15040,7 +15040,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  >= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15062,7 +15062,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) >= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15084,7 +15084,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) >= cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15106,7 +15106,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  >= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15128,7 +15128,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  >= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15150,7 +15150,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) >= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15172,7 +15172,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) >= cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15194,7 +15194,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  >= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15216,7 +15216,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  >= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15238,7 +15238,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) >= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15260,7 +15260,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) >= cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15590,7 +15590,7 @@ Project [NOT (cast(cast(1 as decimal(10,0)) as decimal(20,0)) = cast(1 as decima
 -- !query
 SELECT cast('1' as binary) <> cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15612,7 +15612,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <> cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15634,7 +15634,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <> cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15656,7 +15656,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) <> cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15678,7 +15678,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <> cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15700,7 +15700,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <> cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15722,7 +15722,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <> cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15744,7 +15744,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) <> cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15766,7 +15766,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <> cast(1 as decimal(3, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15788,7 +15788,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <> cast(1 as decimal(5, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15810,7 +15810,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <> cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -15832,7 +15832,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) <> cast(1 as decimal(20, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16206,7 +16206,7 @@ Project [NOT (cast(cast(1 as decimal(20,0)) as double) = cast(cast(1 as string)
 -- !query
 SELECT cast(1 as decimal(3, 0))  <> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16228,7 +16228,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16250,7 +16250,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16272,7 +16272,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <> cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16338,7 +16338,7 @@ Project [NOT (cast(1 as decimal(20,0)) = cast(cast(1 as boolean) as decimal(20,0
 -- !query
 SELECT cast(1 as decimal(3, 0))  <> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16360,7 +16360,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16382,7 +16382,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16404,7 +16404,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <> cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16426,7 +16426,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(3, 0))  <> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16448,7 +16448,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(5, 0))  <> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16470,7 +16470,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) <> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -16492,7 +16492,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(20, 0)) <> cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/division.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/division.sql.out
index 671c5c550cc..a034c22ffcd 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/division.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/division.sql.out
@@ -98,7 +98,7 @@ Project [(cast(cast(1 as tinyint) as double) / cast(cast(cast(1 as string) as do
 -- !query
 SELECT cast(1 as tinyint) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -120,7 +120,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as tinyint) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -142,7 +142,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as tinyint) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -164,7 +164,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as tinyint) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -274,7 +274,7 @@ Project [(cast(cast(1 as smallint) as double) / cast(cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as smallint) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -296,7 +296,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as smallint) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -318,7 +318,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as smallint) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -340,7 +340,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as smallint) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -450,7 +450,7 @@ Project [(cast(cast(1 as int) as double) / cast(cast(cast(1 as string) as double
 -- !query
 SELECT cast(1 as int) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -472,7 +472,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as int) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -494,7 +494,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as int) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -516,7 +516,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as int) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -626,7 +626,7 @@ Project [(cast(cast(1 as bigint) as double) / cast(cast(cast(1 as string) as dou
 -- !query
 SELECT cast(1 as bigint) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -648,7 +648,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as bigint) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -670,7 +670,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as bigint) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -692,7 +692,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as bigint) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -802,7 +802,7 @@ Project [(cast(cast(1 as float) as double) / cast(cast(cast(1 as string) as doub
 -- !query
 SELECT cast(1 as float) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -824,7 +824,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as float) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -846,7 +846,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as float) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -868,7 +868,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as float) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -978,7 +978,7 @@ Project [(cast(1 as double) / cast(cast(1 as string) as double)) AS (CAST(1 AS D
 -- !query
 SELECT cast(1 as double) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1000,7 +1000,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as double) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1022,7 +1022,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as double) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1044,7 +1044,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as double) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1154,7 +1154,7 @@ Project [(cast(cast(1 as decimal(10,0)) as double) / cast(cast(1 as string) as d
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1176,7 +1176,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1198,7 +1198,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1220,7 +1220,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as decimal(10, 0)) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1330,7 +1330,7 @@ Project [(cast(cast(1 as string) as double) / cast(cast(1 as string) as double))
 -- !query
 SELECT cast(1 as string) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1352,7 +1352,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as string) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1374,7 +1374,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as string) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1396,7 +1396,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as string) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1418,7 +1418,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as tinyint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1440,7 +1440,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as smallint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1462,7 +1462,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as int) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1484,7 +1484,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as bigint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1506,7 +1506,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as float) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1528,7 +1528,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as double) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1550,7 +1550,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1572,7 +1572,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as string) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1594,7 +1594,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -1616,7 +1616,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1638,7 +1638,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1660,7 +1660,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('1' as binary) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1682,7 +1682,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as tinyint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1704,7 +1704,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as smallint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1726,7 +1726,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as int) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1748,7 +1748,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as bigint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1770,7 +1770,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as float) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1792,7 +1792,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as double) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1814,7 +1814,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1836,7 +1836,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as string) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1858,7 +1858,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1880,7 +1880,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -1902,7 +1902,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1924,7 +1924,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast(1 as boolean) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1946,7 +1946,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as tinyint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1968,7 +1968,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as smallint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1990,7 +1990,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as int) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2012,7 +2012,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as bigint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2034,7 +2034,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as float) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2056,7 +2056,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as double) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2078,7 +2078,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2100,7 +2100,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as string) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2122,7 +2122,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2144,7 +2144,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2166,7 +2166,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
@@ -2188,7 +2188,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00.0' as timestamp) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2210,7 +2210,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as tinyint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2232,7 +2232,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as smallint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2254,7 +2254,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as int) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2276,7 +2276,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as bigint) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2298,7 +2298,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as float) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2320,7 +2320,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as double) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2342,7 +2342,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as decimal(10, 0)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2364,7 +2364,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as string) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2386,7 +2386,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast('1' as binary) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2408,7 +2408,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast(1 as boolean) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2430,7 +2430,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast('2017-12-11 09:30:00.0' as timestamp) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -2452,7 +2452,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT cast('2017-12-11 09:30:00' as date) / cast('2017-12-11 09:30:00' as date) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE",
   "sqlState" : "42K09",
diff --git a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/ifCoercion.sql.out b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/ifCoercion.sql.out
index c93a21f3f37..edee343b592 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/ifCoercion.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/typeCoercion/native/ifCoercion.sql.out
@@ -98,7 +98,7 @@ Project [if (true) cast(cast(1 as tinyint) as string) else cast(2 as string) AS
 -- !query
 SELECT IF(true, cast(1 as tinyint), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -120,7 +120,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as tinyint), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -142,7 +142,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as tinyint), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -164,7 +164,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as tinyint), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -274,7 +274,7 @@ Project [if (true) cast(cast(1 as smallint) as string) else cast(2 as string) AS
 -- !query
 SELECT IF(true, cast(1 as smallint), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -296,7 +296,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as smallint), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -318,7 +318,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as smallint), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -340,7 +340,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as smallint), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -450,7 +450,7 @@ Project [if (true) cast(cast(1 as int) as string) else cast(2 as string) AS (IF(
 -- !query
 SELECT IF(true, cast(1 as int), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -472,7 +472,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as int), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -494,7 +494,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as int), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -516,7 +516,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as int), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -626,7 +626,7 @@ Project [if (true) cast(cast(1 as bigint) as string) else cast(2 as string) AS (
 -- !query
 SELECT IF(true, cast(1 as bigint), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -648,7 +648,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as bigint), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -670,7 +670,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as bigint), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -692,7 +692,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as bigint), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -802,7 +802,7 @@ Project [if (true) cast(cast(1 as float) as string) else cast(2 as string) AS (I
 -- !query
 SELECT IF(true, cast(1 as float), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -824,7 +824,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as float), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -846,7 +846,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as float), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -868,7 +868,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as float), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -978,7 +978,7 @@ Project [if (true) cast(cast(1 as double) as string) else cast(2 as string) AS (
 -- !query
 SELECT IF(true, cast(1 as double), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1000,7 +1000,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as double), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1022,7 +1022,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as double), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1044,7 +1044,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as double), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1154,7 +1154,7 @@ Project [if (true) cast(cast(1 as decimal(10,0)) as string) else cast(2 as strin
 -- !query
 SELECT IF(true, cast(1 as decimal(10, 0)), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1176,7 +1176,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as decimal(10, 0)), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1198,7 +1198,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as decimal(10, 0)), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1220,7 +1220,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as decimal(10, 0)), cast('2017-12-11 09:30:00' as date)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1330,7 +1330,7 @@ Project [if (true) cast(1 as string) else cast(2 as string) AS (IF(true, CAST(1
 -- !query
 SELECT IF(true, cast(1 as string), cast('2' as binary)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1352,7 +1352,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast(1 as string), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1396,7 +1396,7 @@ Project [if (true) cast(1 as string) else cast(cast(2017-12-11 09:30:00 as date)
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as tinyint)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1418,7 +1418,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as smallint)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1440,7 +1440,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as int)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1462,7 +1462,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as bigint)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1484,7 +1484,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as float)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1506,7 +1506,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as double)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1528,7 +1528,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as decimal(10, 0))) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1550,7 +1550,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as string)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1583,7 +1583,7 @@ Project [if (true) cast(1 as binary) else cast(2 as binary) AS (IF(true, CAST(1
 -- !query
 SELECT IF(true, cast('1' as binary), cast(2 as boolean)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1605,7 +1605,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
 SELECT IF(true, cast('1' as binary), cast('2017-12-11 09:30:00.0' as timestamp)) FROM t
 -- !query analysis
-org.apache.spark.sql.AnalysisException
+org.apache.spark.sql.catalyst.ExtendedAnalysisException
 {
   "errorClass" : "DATATYPE_MISMATCH.DATA_DIFF_TYPES",
   "sqlState" : "42K09",
@@ -1627,7 +1627,7 @@ org.apache.spark.sql.AnalysisException
 -- !query
... 16091 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org