Closed andygrove closed 2 weeks ago
@vaibhawvipul Please take a look since this makes some changes to your recent code
I plan on waiting until https://github.com/apache/datafusion-comet/pull/346 and https://github.com/apache/datafusion-comet/pull/340 are merged before merging this one, to avoid causing them to rebase again
It looks like #340 will take a little longer, so will emrge this now
Which issue does this PR close?
Part of https://github.com/apache/datafusion-comet/issues/286
Rationale for this change
We have discovered numerous compatibility issues with the CAST expression, so we should fall back to Spark for any cast operations that we do not fully support to avoid any data corruption or incorrect results.
This PR adds a new
spark.comet.cast.allowIncompatible
config and implements the mechanism to only allow incompatible casts when this is enabled.What changes are included in this PR?
QueryPlanSerde
and into a newCometCast
objectCometCastSuite
to check that plan ran in Cometcommon
tospark
module and updated it to generate a table showing which cast operations are compatible, incompatible, or unsupportedspark.comet.cast.allowIncompatible
in some tests that depend on incompatible castsHow are these changes tested?
Existing tests in
CometCastSuite