yaooqinn opened a new pull request #27277: [SPARK-30568][SQL] Invalidate 
interval type as a field table schema
URL: https://github.com/apache/spark/pull/27277
 
 
   ### What changes were proposed in this pull request?
   
   After this commit 
https://github.com/apache/spark/commit/d67b98ea016e9b714bef68feaac108edd08159c9,
 we are able to create table or alter table with interval column types if the 
external catalog accepts which is varying the interval type's purpose for 
internal usage. With 
https://github.com/apache/spark/commit/d67b98ea016e9b714bef68feaac108edd08159c9 
's original purpose it should only work from cast logic.
   
   Instead of adding type checker for the interval type from commands to 
commands to work among catalogs, It much simpler to treat interval as an 
invalid data type but can be identified by cast only.
   
    
   
   
   ### Why are the changes needed?
   
   enhance interval internal usage purpose.
   
   ### Does this PR introduce any user-facing change?
   <!--
   If yes, please clarify the previous behavior and the change this PR proposes 
- provide the console output, description and/or an example to show the 
behavior difference if possible.
   If no, write 'No'.
   -->
   NO,
   Additionally, this PR restore user behavior when using interval type to 
create/alter table schema, e.g. for hive catalog
   for 2.4,
   ```java
   Caused by: org.apache.spark.sql.catalyst.parser.ParseException:
   DataType calendarinterval is not supported.(line 1, pos 0)
   ```
   for master after  
https://github.com/apache/spark/commit/d67b98ea016e9b714bef68feaac108edd08159c9
   ```java
   Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: 
java.lang.IllegalArgumentException: Error: type expected at the position 0 of 
'interval' but 'interval' is found.
     at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:862)
   ```
   now with this pr, we restore the type checker in spark side.
   
   ### How was this patch tested?
   <!--
   If tests were added, say they were added here. Please make sure to add some 
test cases that check the changes thoroughly including negative and positive 
cases if possible.
   If it was tested in a way different from regular unit tests, please clarify 
how you tested step by step, ideally copy and paste-able, so that other 
reviewers can test and check, and descendants can verify in the future.
   If tests were not added, please describe why they were not added and/or why 
it was difficult to add.
   -->
   add more ut

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to