anchovYu opened a new pull request, #36275:
URL: https://github.com/apache/spark/pull/36275

   Backport to 3.3:
   Closes #36241 from anchovYu/ansi-error-improve.
   
   Authored-by: Xinyi Yu <xinyi...@databricks.com>
   Signed-off-by: Max Gekk <max.g...@gmail.com>
   (cherry picked from commit f76b3e766f79b4c2d4f1ecffaad25aeb962336b7)
   
   ### What changes were proposed in this pull request?
   
   Improve the error messages for cast failures in ANSI.
   As mentioned in https://issues.apache.org/jira/browse/SPARK-38929, this PR 
targets two cast-to types: numeric types and date types.
   * For numeric(`int`, `smallint`, `double`, `float`, `decimal` ..) types, it 
embeds the cast-to types in the error message. For example,
     ```
     Invalid input value for type INT: '1.0'. To return NULL instead, use 
'try_cast'. If necessary set %s to false to bypass this error.
     ```
     It uses the `toSQLType` and `toSQLValue` to wrap the corresponding types 
and literals.
   * For date types, it does similarly as above. For example,
     ```
     Invalid input value for type TIMESTAMP: 'a'. To return NULL instead, use 
'try_cast'. If necessary set spark.sql.ansi.enabled to false to bypass this 
error.
     ```
   
   ### Why are the changes needed?
   To improve the error message in general.
   
   ### Does this PR introduce _any_ user-facing change?
   It changes the error messages.
   
   ### How was this patch tested?
   The related unit tests are updated.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to