The current Spark 2.4 migration guide is not well phrased. We should
1. State the before behavior
2. State the after behavior
3. Add a concrete example with code to illustrate.
Since Spark 2.4, Spark compares a DATE type with a TIMESTAMP type after promotes both sides to TIMESTAMP. To set `false` to `spark.sql.hive.compareDateTimestampInTimestamp` restores the previous behavior. This option will be removed in Spark 3.0.
In version 2.3 and earlier, Spark implicitly casts a timestamp column to date type when comparing with a date column. In version 2.4 and later, Spark casts the date column to timestamp type instead. As an example, "xxx" would result in ".." in Spark 2.3, and in Spark 2.4, the result would be "..."