[ 
https://issues.apache.org/jira/browse/SPARK-53348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18016358#comment-18016358
 ] 

Dongjoon Hyun commented on SPARK-53348:
---------------------------------------

This is reverted from `branch-4.0` first due to the non-ANSI CI failures. 
Previously, both `master` and `branch-4.0` non-ANSI CIs are broken.

- 
https://github.com/apache/spark/commit/f3c2d39f32c9122bf0e496082b34572185ce8f38
- https://github.com/apache/spark/actions/runs/17197538374/job/48928049245

{code}
[info] - Default ANSI value is stored for views *** FAILED *** (18 milliseconds)
[info]   "[fals]e" did not equal "[tru]e" (DefaultANSIValueSuite.scala:104)
[info]   Analysis:
[info]   "[fals]e" -> "[tru]e"
{code}

> Always persist ANSI value when creating a view or assume it when querying if 
> not stored
> ---------------------------------------------------------------------------------------
>
>                 Key: SPARK-53348
>                 URL: https://issues.apache.org/jira/browse/SPARK-53348
>             Project: Spark
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 4.0.0
>            Reporter: Mihailo Aleksic
>            Assignee: Mihailo Aleksic
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.1.0
>
>
> I propose that we always store ANSI value when creating a view because 
> otherwise users can be affected by unwanted behavior. For example if user 
> creates a view on version that has ANSI = false by default he expects this 
> not to fail.
> CREATE VIEW view AS SELECT CAST('abc' AS INT) AS a;
> SELECT * FROM view;
> But if user queries the view on the version which has ANSI = true by default, 
> above query is going to fail (because when we don't store the value, and we 
> store it only if explicitly set, we use the default one). Number of this and 
> similar use cases is huge, because ANSI impact area is huge and thus I 
> propose that we always store the value.
> If the value is not stored, I propose that we use createVersion field to 
> determine whether the ANSI value should be true (Spark 4.0.0 and above) or 
> false (lower than Spark 4.0.0). If the createVersion field wasn't stored 
> during view creation, I propose that we assume that the ANSI = false because 
> number of those views is incomparable larger than the ones expecting ANSI = 
> true



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to